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 ,其中未执行添加,但状态输出列出了将添加的每个文件。

链接地址: http://www.djcxy.com/p/57223.html

上一篇: Git: list only "untracked" files (also, custom commands)

下一篇: Find when a file was deleted in Git