Git:同时出现Ahead和Behind。如何解决?

35

我有一个提交,其中1 ahead6 behind

在这种情况下我该怎么办?

我认为解决方案可能是这样的:git push 然后 git pull

但我认为,这只能解决behind问题。
也许我错了。

-------*------*-----*-----*-----B
        \
         \
          \
           *-------A

我完成了我的部分并更改了SDK。
现在我想与B合并。


1
你能否指定哪个分支是在另一个分支之后或之前的?如果您能解释一下哪一个“可以解决”以及原因,那将会有所帮助。 - Benjamin Bannier
1
@honk,我编辑了问题,请问我应该怎么做? - gaussblurinc
1个回答

37

git pull(或者更确切地说,pull所执行的merge操作)会“解决”‘ahead’和‘behind’问题。

分支比远程分支落后X个提交意味着当前分支正在追踪的分支上有X个新的(未合并的)提交。

分支比远程分支超前X个提交类似地表示您的分支有X个新提交,这些提交尚未合并到被追踪的分支中。

一旦你拉取了代码(因此将远程更改与本地更改合并),并推送(因此发布您的更改和合并到远程),您自己的分支和远程分支将指向相同的提交,因此都不会超前或落后。


6
“git pull”确实解决了“behind”的问题,然后我执行了“git push”,清除了“ahead”。 - Ville

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接