从本地分支"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.
我对本地分支主节点拉取和推送到源/主站没有任何问题,只需在该分支上使用"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 的输出 --版本:
git version 1.8.2.1
注意:我在这里混淆了一些名字,所以希望我在转置中没有犯任何错误。 如果您看到任何评论,请在评论中解决它们,我会修复它们。
如果您是第一次推送分支,则可以运行git push --set-upstream origin2 master2:master
。分支将设置为跟踪origin2/master
。
您还可以设置现有分支的上游分支: git checkout master2; git branch -u origin2/master
.这也将跟踪分支设置为 origin2/master
,任何后续git push
都会推送到 origin2/master
。
有关详细信息,请参阅 git 关于跟踪分支的文档。
解决方案是设置:
push.default=upstream