gpt4 book ai didi

git - 如何在 git 存储库中找到未跟踪(和未忽略)文件的完整列表?

转载 作者:太空狗 更新时间:2023-10-29 13:40:25 25 4
gpt4 key购买 nike

在特定的<directory> (在 git 存储库中),
我想要一份完整的文件列表:

  • 未被 git 跟踪
  • 不会 被 git 忽略(使用 .gitignore )。

有没有简单的方法来做到这一点?

请注意,虽然 git status列出忽略的未跟踪文件,
它无法列出 git 存储库中任何未跟踪的子目录中的实际文件。

最佳答案

是的,通过使用 git ls-files

git ls-files -o --exclude-standard [directory]
  • -o 在输出中显示其他(即未跟踪的)文件
  • --exclude-standard 添加标准 Git 排除项
    来自每个目录中的 .gitignore.git/info/exclude~/.gitignore_global

这是一个示例 git 存储库,其中包含 2 个新的未跟踪本地文件。两者都在新添加的未跟踪目录中。其中一个未跟踪的文件与 .gitignore 中指定的模式 *.o 匹配。

~/linux-stable$ ls -lR kernel/untracked-dir/
kernel/untracked-dir/:
total 8
-rw-rw-r-- 1 cvs cvs 7 Sep 2 18:46 untracked-ignored-file.o
-rw-rw-r-- 1 cvs cvs 7 Sep 2 18:46 untracked-non-ignored-file.c

运行 git status 只是列出新的未跟踪的子目录,而不是其中的单个文件

~/linux-stable$ git status kernel/
On branch master
Your branch is up-to-date with 'origin/master'.

Untracked files:
(use "git add <file>..." to include in what will be committed)

kernel/untracked-dir/

nothing added to commit but untracked files present (use "git add" to track)

Whereas using git ls-files -o --exclude-standard, we get :

~/linux-stable$ git ls-files -o --exclude-standard 
kernel/untracked-dir/untracked-non-ignored-file.c

i.e. the actual list of untracked-files (including the ones within any untracked directories).

关于git - 如何在 git 存储库中找到未跟踪(和未忽略)文件的完整列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32347579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com