如何在 git 中恢复提交



我整天都在做一个个人项目,并将其提交给一个分支。然后我意识到我要提交 master 并创建了一个要推送的新分支,git 切换到该分支。之后我切换回来,但找不到我的提交。有没有办法从创建分支之前恢复提交?它恢复了我的很多工作。

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

只需找到看起来像您想要的那个并检查出来

reflog 命令在这里可能很有用。它将显示分支尖端所在位置的历史记录。

我不确定如果您确实提交了工作并且现在在该分支上签出,您如何"丢失"了提交。

如果您还记得该消息(ctrl-r可能会有所帮助),则可以使用以下方法查找提交:

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

最新更新