有没有办法只用一个命令从索引中删除那些用-N标志添加的文件?
答案 0 :(得分:4)
没有。 -N添加了哪些文件,而这些文件只是空的。
答案 1 :(得分:1)
是的,有!只使用 git:
git diff --name-only --diff-filter=A -z \
| git restore --staged -q --pathspec-file-nul --pathspec-from-file=-
不带-N
的内容添加的文件在工作树中显示为“已添加”(A
),这就是用--diff-filter=A
列出的内容。然后将此列表传送到 git restore
中,从而删除意图添加。
我使用 git restore
是因为 git reset
只是在没有添加 -N
的文件时重置整个索引(因为 pathspec 为空)。您也可以使用
git diff --name-only --diff-filter=A -z | xargs -r0 git reset -q --
需要 GNU xargs。