如果标题不清楚,我很抱歉,但这是一个奇怪的问题。
我git checkout
到我的“舞台”分支和git pull
获取我伙伴的最新更改(他昨晚将其推送到远程存储库的“stage”分支),果然,它们 merge 到了我本地的“stage”分支。 git log <branch>
显示了他昨晚执行的五次提交。
然后我切换到 master 分支以从 repo 中提取它,因为他告诉我他在测试后将这些更改 merge 到 master 分支。但是当我 git checkout stage
回到我的“阶段”分支,它说我领先远程分支 5 个提交。我 git log origin/stage
它没有显示我刚刚从该存储库(该项目唯一的远程存储库)中提取的五个提交。 git log stage
显示了我本地“阶段”分支上的五个提交,所以我不知道远程分支如何在为我的合作伙伴提供最新提交后立即回到过去。
我在这方面还很陌生,感谢您的耐心等待,因为我仍在努力掌握 DCVS,而且我很可能只是误解了一些非常基本的东西。
最佳答案
试试这个命令:
git log origin/stage..stage
这向您展示了您在 Remote 之前的位置。适本地执行 git rebase origin/stage
/git push
。
如果没有帮助,请参阅此问题:'git pull origin mybranch' leaves local mybranch N commits ahead of origin. Why?
关于Git 说本地分支在从远程 pull 后领先于远程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4052788/