什么是最好的方法移动你的最后一个git提交回到“更改不staging”+“Untracked files”区域(有问题的提交不推送/只在你的本地回购,有效地从HEAD中删除它)?
换句话说,如何回滚提交,但自动将该差异应用到未登台的区域?
什么是最好的方法移动你的最后一个git提交回到“更改不staging”+“Untracked files”区域(有问题的提交不推送/只在你的本地回购,有效地从HEAD中删除它)?
换句话说,如何回滚提交,但自动将该差异应用到未登台的区域?
当前回答
你可以使用git reset将当前分支设置为前一次提交,即HEAD^
git reset HEAD^
添加——soft会将这些文件保留在索引中:(准备提交)
git reset --soft HEAD^
——软 (…)这将使你所有更改的文件“Changes to be committed”,就像git状态所显示的那样。
其他回答
你可以使用git reset将当前分支设置为前一次提交,即HEAD^
git reset HEAD^
添加——soft会将这些文件保留在索引中:(准备提交)
git reset --soft HEAD^
——软 (…)这将使你所有更改的文件“Changes to be committed”,就像git状态所显示的那样。
git-extras提供了一个git undo命令,这是一种更容易记住的做同样事情的方式(以及许多其他方便的额外功能,顾名思义)。