如何在git中恢复提交

时间:2018-05-08 00:13:21

标签: git git-branch git-commit

我在一个个人项目中整天都在做一些事情,然后把它交给了一个分支机构。然后我意识到我将承诺掌握并创建一个新的分支推送到,并且git切换到该分支。之后我换回来但找不到我的提交。在创建分支之前有没有办法恢复提交?它恢复了我的很多工作。

3 个答案:

答案 0 :(得分:5)

git reflog应该有所帮助,只要它在某个时刻被提交它仍然存在。

您将获得如下输出:

57a5b3a (HEAD -> some-branch, origin/some-branch) HEAD@{0}: commit: made changes
3092bca HEAD@{1}: commit: Other changes
7021685 HEAD@{2}: commit: More changes
2d882b8 HEAD@{3}: commit: even more changes
dc30cbc (origin/master, master) HEAD@{4}: checkout: moving from master to some-branch
dc30cbc (origin/master, master) HEAD@{5}: commit: I hope your commit messages are better than this

找到一个看起来像你想要的那个并查看它

答案 1 :(得分:1)

此处reflog命令可能很有用。它将显示分支尖端的历史记录。

我不确定你怎么会失去"失去"如果你确实提交了工作并且现在已经在该分支上签出了提交。

答案 2 :(得分:1)

如果你还记得这条消息( ctrl - r 可能有帮助),你可以找到提交:

git log --all --grep 'the message'