Git:只列出“未跟踪”文件(也是自定义命令)
有没有办法使用像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命令?
要列出未跟踪的文件,请尝试:
git ls-files --others --exclude-standard
添加未跟踪文件的好别名:
au = !git add $(git ls-files -o --exclude-standard)
编辑:供参考:git-ls-files
如果您只想删除未跟踪的文件,请执行以下操作:
git clean -df
如果你想要也包含特定的被忽略的文件,可以添加x
。 我一整天都在使用git clean -dfx
。
你可以通过编写一个名为git-whatever
的脚本来创建自定义的git,并将它放在你的路径中。
git add -A -n
会做你想做的。 -A
将所有未跟踪的文件添加到回购库中, -n
使其处于dry-run
,其中未执行添加,但状态输出列出了将添加的每个文件。
上一篇: Git: list only "untracked" files (also, custom commands)