小编典典

Git:仅列出“未跟踪”文件(还有自定义命令)

all

有没有办法使用一个命令,比如git ls-files只显示未跟踪的文件?

我问的原因是因为我使用以下命令来处理所有已删除的文件:

git ls-files -d | xargs git rm

对于未跟踪的文件,我想要类似的东西:

git some-command --some-options | xargs git add

我能够找到 的-o选项git ls-files,但这不是我想要的,因为它还显示被忽略的文件。我还能够想出以下长而丑陋的命令:

git status --porcelain | grep '^??' | cut -c4- | xargs git add

似乎必须有一个更好的命令我可以在这里使用。如果没有,我如何创建自定义 git 命令?


阅读 111

收藏
2022-03-23

共1个答案

小编典典

要列出未跟踪的文件,请尝试:

git ls-files --others --exclude-standard

如果您需要将输出通过管道传输到,明智的做法是使用andxargs记住空格:git ls-files -z``xargs -0

git ls-files -z -o --exclude-standard | xargs -0 git add

添加未跟踪文件的好别名:

au = !git add $(git ls-files -o --exclude-standard)

编辑: 供参考:git-ls-files

2022-03-23