我想取消上一次GIT提交,而不将文件还原到之前的提交。 即我想返回到提交前一刻的状态 - 所以我可以在提交之前看到所有新的/修改过的文件。有可能吗?
答案 0 :(得分:2)
您可以使用:
git reset HEAD^
您的上次提交将被撤消,但该提交中的更改将保留在文件系统上。
答案 1 :(得分:1)
两种选择,基于你想做的事情(它并不完全清楚)。要么保持工作目录不变,又要将当前分支移回上一次提交。
使用git reset
:
git reset HEAD~1
您还可以使用--soft
选项来保持索引原样:
git reset --soft HEAD~1
如果你想让分支指向它当前指向的提交但是你想要将文件实际恢复到之前的提交版本,那么你也可以这样做。您可以使用git checkout
从先前的提交中检出工作目录,而无需分离到该提交:
git checkout HEAD~1 -- .
基本上通过指定一个路径(在--
之后),你告诉Git实际上没有检查提交/分支,只是检查你列出的所有文件的状态.
表示与当前目录相关的所有内容(因此要检查所有内容,您应该位于存储库的根目录中。)
答案 2 :(得分:0)
我不知道你应该这样做的原因......
无论如何,一个简单的解决方案是: