如何在合并前签出git状态?

时间:2017-10-27 07:12:59

标签: git

我将git分支合并到我的master中,但现在我想在合并之前获取代码的状态。我不想恢复合并。我该怎么做呢?运行git log显示数百个提交,但没有列出分支,所以我不确定如何找到提交哈希。 This answer建议运行git log master..,但这对我没有任何回报。

4 个答案:

答案 0 :(得分:2)

尝试使用此命令查找哈希(HEAD):

git reflog

答案 1 :(得分:1)

如果合并提交为HEAD,则合并的提交为HEAD^1HEAD^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