我有以下本地和远程分支:
本地:mainline
,myBranch
远程:origin/mainline
,origin/myBranch
我在myBranch
上做了4次提交:
c1
,c2
,c3
和c4
并将其推送到origin/myBranch
然后我意识到我需要一些由其他人释放到b1
的错误修复提交b2
和origin/mainline
。
所以我检查了mainline
并做了git pull
。我检查了myBranch
,然后做了rebase
。我知道我搞砸了,我应该只做一个merge
。但无论如何,这就是myBranch
在这一点上的样子:
b1 b2 c1' c2' c3' c4'
现在我尝试做git push
。它当然不允许我这样做,直到我做git pull
。所以我这样做,现在myBranch
看起来像这样:
b1 c1 c2 c3 c4 b2 c1' c2' c3' c4' mergecommit
请注意,最新的提交是合并提交,我认为引入了拉动。我现在继续做git push
。我还可以确认git说它已成功推送到合并提交的哈希值。
但是当我现在做git status
时,它说:
origin/myBranch and myBranch diverge by 1 commit.
我非常困惑我去检查日志,发现myBranch
上的最新提交(mergecommit
)与mergecommit
的{{1}}有不同的哈希值}}
帮助!!为什么这两个合并提交有不同的哈希?