Unstage only new files using Git
我意外地进行了很多更改,包括我不想提交的新文件。
如何仅解除或重置新文件?
我不是在寻找任何类型的脚本;我是在寻找核心的Git功能,以便在这里以一个有意义的主题标题公开和记录。
有一种方法可以做到这一点,那就是解除/重置所有内容,然后只重新准备您想要的内容:
1 2 3
| git reset HEAD ./
git add -u
# -u stages changes to tracked files, and will not stage new files. |
- 差不多就是这样。注意,这是一个reset --mixed,可以拼写为git reset --mixed HEAD -- .,这表明您要求将HEAD移动到HEAD,路径名为.。将HEAD移动到HEAD本身就是一个无操作,因此只有索引重置部分(通过--mixed有任何效果,指定的路径是.、当前目录(所有文件,以及任何子目录及其文件,递归地)。
- 注:在初始提交之前,没有HEAD到reset到。在这种情况下,git rm --cached -r .将破坏一切。