如何使用不同的基本名称git push到远程跟踪分支?

时间:2016-02-04 20:32:08

标签: 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.

通过简单地使用" 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

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

2 个答案:

答案 0 :(得分:2)

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

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

有关详细信息,请参阅git's documentation about tracking branches

答案 1 :(得分:2)

解决方案是设置:

push.default=upstream