有没有办法只用一个命令从索引中删除那些添加了 -N 标志的文件?
问问题
650 次
2 回答
4
不,Git 不会跟踪添加了哪些文件以及哪些文件是-N
空的。
于 2012-10-21T01:48:05.440 回答
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。
于 2021-01-11T15:31:35.283 回答