我创建了一个跟踪分支,以便whowasout.com跟踪whowasout.com/master
$ git remote -v
origin git@github.com:venkatd/whowentout.git (fetch)
origin git@github.com:venkatd/whowentout.git (push)
whowasout.com git@git01.phpfog.com:whowasout.com (fetch)
whowasout.com git@git01.phpfog.com:whowasout.com (push)
$ git branch -vv
master c33b5dc [origin/master] Merge branch 'whowasout.com'
* whowasout.com 7b6b240 [whowasout.com/master: ahead 1] print statement in test.
php
当我在whowasout.com分支中进行一些更改并执行“git push”时,master会被推送到origin / master。这是预期的行为吗?我期待whowasout.com推送到whowasout.com/master。
为了推动我的更改,我目前输入“git push whowasout.com whowasout.com:master”,但我认为跟踪会使这个过程更快。我是在正确的轨道上吗?
答案 0 :(得分:2)
你必须这样做:
git push whowasout.com whowasout.com:master
这是因为whowasout.com
没有分支whowasout.com
而您不需要分支git push
。你真正想要的是在whowasout.com远程将whowasout.com分支机构推送到本地主机,这必须像上面那样完成。
要获得所需的行为,以便只有push.default
从本地的whowasout.com分支推送到远程的本地主机,您必须将upstream
配置设置为tracking
(之前叫git config push.default upstream
)
push.default
请注意,您必须执行此操作,因为默认情况下,跟踪分支有助于在执行提取/拉取时跟踪上游分支。当您更改{{1}}设置时,它也会在推送中发挥作用。否则,推送只是推送匹配的refs,即whowasout.com分支将被推送到远程whowasout.com上的whowasout.com分支。