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

时间:2019-05-16 12:05:18

标签: git fzf

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

我正在尝试将fzfFZF_DEFAULT_COMMAND改进为当前的git ls-files。这样做的问题是在该命令中找不到新文件。我也想摆脱结果中已删除的文件。该命令不应返回git忽略的任何文件。

我尝试过

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

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

1 个答案:

答案 0 :(得分:3)

$ 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-生成我们要返回的文件列表;保存到临时文件/tmp/c

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

grep -vf /tmp/d /tmp/c返回/tmp/c中的所有行,其中/tmp/d中的行已删除

没有tmp文件:

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