Git说,从遥控器拉出后,当地分公司处于远程领先地位

时间:2010-10-29 14:31:04

标签: git commit git-pull

如果标题不清楚,我很抱歉,但这是一个奇怪的问题。

git checkout到我的“舞台”分支和git pull以获取我的合作伙伴的最新更改(他昨晚推送到远程存储库的“舞台”分支),果然,他们合并到我当地的“舞台”分支。 git log <branch>显示他昨晚做了五次提交。

然后我切换到主分支从repo中取出它,因为他告诉我他们在测试后将这些更改合并到主分支。但是当我git checkout stage回到我的“舞台”分支时,它说我在5次提交时领先于远程分支。我git log origin/stage并且它没有显示我刚从该存储库中提取的五个提交(此项目中唯一的远程存储库)。 git log stage显示了我当地“舞台”分支上的五个提交,所以我很难看到远程分支在向我提供我的合作伙伴的最新提交后立即回过头来。

我对此非常陌生,所以我很感激你对我的耐心,因为我还在努力掌握DCVS,而且我很有可能只是误解了一些非常基本的东西。

2 个答案:

答案 0 :(得分:14)

尝试此命令:

git log origin/stage..stage

这显示了你在遥控器之前的样子。酌情git rebase origin/stage / git push

如果没有帮助,请参阅此问题:'git pull origin mybranch' leaves local mybranch N commits ahead of origin. Why?

答案 1 :(得分:0)

以下情况发生后,我也遇到了类似的问题:

  • 我的同事推了一个简单的提交
  • 我撤消了提交,我的工具已标记为“立即合并合并更改”
  • 我的同事决定进行--amend更改其原始提交,以使其改为两个不同的提交
  • 我取消了这些更改,最终比原点提前三次提交

我的简单解决方案是撤消这三个本地提交,为每个提交运行以下命令:

git reset --soft HEAD~1

然后git status告诉我,两次提交后我都落后于原点,并且我可以像往常一样拉那些提交。