7

我是 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分支 dev 上的(没有任何论据)足以恢复这种情况?

4

1 回答 1

5

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

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

于 2012-07-26T09:50:15.487 回答