回滚到最后一次 git 提交

我刚做了一个

git commit -m "blah"

然后我添加了一些文件,如何回滚和删除当前文件中尚未添加/提交的内容?

201638 次浏览

git reset --hard会强制工作目录回到最后一次提交,并删除新的/更改过的文件。

可以使用 git revert HEAD^恢复提交,以恢复到倒数第二个提交。还可以使用 id 而不是 HEAD ^ 指定要恢复的提交

前方有毁灭性指令。

缓解 -git reflog < em > 可以在你需要的时候拯救你。


1) 撤销本地文件更改和 留着吧您的最后提交

git reset --hard

2) 撤销本地文件更改和 移开您的最后提交

git reset --hard HEAD^

3) 留着吧本地文件改变和 移开你的最后提交

git reset --soft HEAD^

如果您想删除新添加的内容和文件,这些内容和文件已经暂存(因此添加到索引中) ,然后使用:

git reset --hard

如果你想删除你最新的提交(是一个消息“吧啦吧啦”) ,那么最好使用:

git reset --hard HEAD^

要删除未跟踪的文件(因此新文件尚未添加到索引中)和文件夹,请使用:

git clean --force -d

如果只想取消最后一次提交,请使用以下命令:

git reset HEAD~

对我来说很有吸引力。

自上次提交以来对 UNDO 本地文件进行更改的一个简单而简单的方法是将它们放在一个新的分支中:

git branch changes
git checkout changes
git add .
git commit

这就留下了新分支中的更改。返回到原来的分支,找到它返回到最后一次提交:

git checkout master

新分支是一个很好的地方,可以实践不同的方法来恢复更改,而不会有弄乱原始分支的风险。