Git-跟踪远程分支

时间:2012-07-26 09:27:07

标签: git branch

我是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(没有任何参数)足以恢复这种情况?

1 个答案:

答案 0 :(得分:5)

命令git pull从所有远程分支获取更新(即更新所有远程跟踪分支)。但只合并当前分支。当没有参数传递时,这是git pull的默认行为。

当你git pull时,你在diff分支上,它刚刚更新了dev的远程跟踪分支。现在git merge足以更新您的本地分支dev