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

Unstage committed changes but keep new files in index

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

我想要的是 reset 但将提交添加的文件保持为空,就好像它们是用 git add --intent-to-add 添加的(即 git add -N)。

仔细阅读the doc后,我找到了答案。

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

可能是我没看懂,那不就是git reset --soft吗?