git撤销commit到未提交状态

如何把最后一次commit撤销回Changes not stagedUntracked files区呢?

有3种情况:

(1)把最后的commit切回Changes to be committed状态,使用命令:

git reset --soft HEAD^

(2)把最后的commit切回Changes not staged for commit状态,使用命令:

git reset HEAD^

(3)把Changes to be committed状态切回Changes not staged for commit状态,使用命令:

git reset HEAD <file>...          # 单个文件
git reset HEAD -- .               # 所有Changes to be committed的文件

最后一条命令在git命令行也有提示,不需要记住。

 

参考资料:

  1. Move (or “Undo”) last git commit to unstaged area [duplicate]
标签:

2条评论

米豆 says: 回复

经常用到这些命令

歪麦 says:

确实是,记住了工作效率大大提高,不然还得每次找

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *