我的git仓库中只有一个主分支。我昨天晚上对我的档案进行了修改:
git add filename
git commit -m 'my message'
今天早上我做了一些更改,后来我想恢复(我没有将这些更改添加到索引中,它们只在我的文件系统中)。我看了here并使用了以下命令:
git checkout path/to/file/filename
现在我注意到我的las提交已经消失了。我做了一个搜索并找到了this,但它引用了git revert。
如果我执行git log,我的上次提交会显示在那里,但文件中的更改不会。如果我执行git状态,则不会显示任何更改,并且“没有添加到提交”消息。
为什么还原我上一次提交?如何重新应用提交?
提前致谢。
答案 0 :(得分:2)
如果由于某种原因,您昨天的提交已经消失,那么首先要查找提交的内容是 reflog 。 例如,请参阅“how to undo a checkout in git?”
git reflog
git reset --hard <sha from reflog><