我需要一个git
命令(或bash替代方法)来快速查找工作目录中的所有文件。
我正在尝试将fzf的FZF_DEFAULT_COMMAND
改进为当前的git ls-files
。这样做的问题是在该命令中找不到新文件。我也想摆脱结果中已删除的文件。该命令不应返回git忽略的任何文件。
我尝试过
export FZF_DEFAULT_COMMAND='{ git ls-files & git ls-files --other --exclude-standard; }'
但它仍然显示已删除的文件。
答案 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)