取消暂存已提交的更改,但将新文件保留在索引中

LP_*_*LP_ 5 git git-add git-reset

我想将最后一次提交一分为二,所以我使用git reset HEAD~1,但随后它会丢失对提交添加的新文件(之前未跟踪)的跟踪,并且我必须小心地将它们一一添加回去。我经常有其他未跟踪的文件等待稍后提交,所以这很烦人。

我想要的是一种方法,reset但将提交添加的文件保留为空,就好像它们是用git add --intent-to-add(ie git add -N) 添加的一样。

LP_*_*LP_ 4

更仔细地阅读文档后,我找到了答案。

这正是我想要的:git reset --mixed -N HEAD~1

  • --mixed 是默认操作。所以你可以只指定 `git reset -N HEAD~1` (3认同)