我将git分支合并到我的master中,但现在我想在合并之前获取代码的状态。我不想恢复合并。我该怎么做呢?运行git log
显示数百个提交,但没有列出分支,所以我不确定如何找到提交哈希。 This answer建议运行git log master..
,但这对我没有任何回报。
答案 0 :(得分:2)
尝试使用此命令查找哈希(HEAD):
git reflog
答案 1 :(得分:1)
如果合并提交为HEAD
,则合并的提交为HEAD^1
和HEAD^2
(依此类推,如果有两个以上的父级)。看看吧!
git checkout master^2 # probably the branch merged in
git checkout master^1 # probably master before the merge
答案 2 :(得分:0)
如果您尚未删除合并的分支。然后你可以使用
git log branchMerged..master
它将列出master中存在的所有提交,而不是你合并的分支中的提交。
此处branchMerged:您已合并的分支的名称。我假设你已合并为主人。
答案 3 :(得分:0)
使用git reflog
查看历史记录,您将看到类似以下内容的内容:
72387432 (HEAD -> master, origin/master, origin/HEAD) HEAD@{4}: pull: Fast-forward
3df12c55 HEAD@{5}: checkout: moving from dev to master
合并发生在72387432
,这是因为拉(我的情况下,合并来自于git pull,在将PR合并到bitbucket中之后)。因此,您想要的是在3df12c55
之前结帐:
git checkout 3df12c55
现在您可以检查代码,进行测试等。当您想重新掌握母版时,只需运行git checkout master
。