我是Mercurial用户,我对远程分支的行为感到困惑。我有一个远程分支origin/dev
,我想在本地分支dev
上复制它。我想要的是:
git pull
时,对origin/dev
的更改都会合并到dev
git push
时,对dev
的更改都会合并到origin/dev
所以我用
创建了一个跟踪分支git branch --track dev origin/dev
据我所知,应该完全符合我的需要。
但是,我正在开发一个功能分支,并发布了git pull
。当我后来发布git checkout dev
时,我收到了令人费解的消息
你的分支在'origin / master_dev'后面有2个提交,可以快进。
所以看来我的本地分支毕竟没有更新。每当我拉动并且我目前不在那个分支时,有没有办法让分支更新到远程分支?如果没有,我是否正确分支开发的git merge
(没有任何参数)足以恢复这种情况?
答案 0 :(得分:5)
命令git pull
从所有远程分支获取更新(即更新所有远程跟踪分支)。但只合并当前分支。当没有参数传递时,这是git pull
的默认行为。
当你git pull
时,你在diff分支上,它刚刚更新了dev
的远程跟踪分支。现在git merge
足以更新您的本地分支dev
。