git - 如何git推送到具有不同基本名称的远程跟踪分支?

标签 git

从本地分支“master2”推送到远程“origin2”会创建一个新的远程分支“origin2/master2”。我怎样才能让它自动推送到“origin2/master”?

我有两个远程跟踪分支,称为

origin/master
origin2/master

我有两个本地分支机构:

master
master2

创建如下:

git checkout -b master origin/master
git checkout -b master2 origin2/master

Git 告诉我它已经自动设置本地分支来跟踪远程分支;示例:

Branch master2 set up to track remote branch master from origin2.

我在本地分支 master pull 和推送到 origin/master 时没有遇到任何问题,只需在该分支上使用“git pull”和“git push”即可。但是,当我在 master2 上时,“git push”会创建一个远程分支:

origin2/master2

我的配置自动生成以下条目:

branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.master2.remote=origin2
branch.master2.merge=refs/heads/master

我知道我可以做到这一点,但我想知道是否有一个配置设置可以解决它:

git push origin2 master2:master

git --version 的输出:

git version 1.8.2.1

注意:我在这里混淆了一些名称,所以希望我在转置中没有犯任何错误。如果您发现任何问题,请在评论中指出,我会修复它们。

最佳答案

您可以运行git push --set-upstream origin2 master2:master如果您是第一次 push 分支。该分支将设置为跟踪 origin2/master .

您还可以设置现有分支的上游分支: git checkout master2; git branch -u origin2/master 。这还将跟踪分支设置为 origin2/master ,任何后续 git push将推至origin2/master .

参见git's documentation about tracking branches了解详情。

关于git - 如何git推送到具有不同基本名称的远程跟踪分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35211047/

相关文章:

bash - 我可以禁用特定的 git 命令吗?

git - 无法 merge origin/master : error: Your local changes to the following files would be overwritten by merge

git - 很难让 GitBook 站点显示在 GitHub 页面中

Git post-receive hook 不会从 master 中删除已删除的文件

重命名文件夹后的 Git 过滤

git - “go get”不适用于我自己的 git 存储库

git - 您的存储库没有配置为推送到的 Remote

java - 将代码推送到 bitbucket 时构建 jenkins 作业

git - 如何列出仅在git中当前分支中所做的所有未提交更改

django - 将外部 django 应用程序 merge 到项目中并安全地进行本地更改的最佳方法