Git 命令列出工作目录中的所有文件

Git command to list all files in working directory

我需要 git 命令(或 bash 替代命令)来快速找到工作目录中的所有文件。

我正在尝试为 fzf 改进 FZF_DEFAULT_COMMAND,目前 git ls-files。问题在于使用该命令无法找到新文件。我还想在结果中删除已删除的文件。该命令不应 return 任何被 git.

忽略的文件

我试过了

export FZF_DEFAULT_COMMAND='{ git ls-files & git ls-files --other --exclude-standard; }'

但它仍然显示已删除的文件。

$ git ls-files -o -c --exclude-standard > /tmp/c; git ls-files -d > /tmp/d; grep -vf /tmp/d /tmp/c

解释:

git ls-files -o -c --exclude-standard - 生成我们想要 return 的文件列表;保存到临时文件 /tmp/c

git ls-files -d - 这是根据 OP 不需要的已删除文件的列表;保存到另一个临时文件 /tmp/d

grep -vf /tmp/d /tmp/c returns 来自 /tmp/c 的所有行删除了来自 /tmp/d 的行

没有 tmp 文件:

grep -vf <(git ls-files -d) <(git ls-files -o -c --exclude-standard)