如何让 tree -a 忽略 .git 目录?

如何让 tree -a 忽略 .git 目录?

我喜欢使用tree列出目录,我有一个包含所有点文件的 git 存储库。为了能够看到它们,我需要执行tree -a,但这也会列出.git目录内的内容,而大多数人(包括我自己)都不敢触碰这些内容。

我怎样才能tree -a仅排除.git目录?

答案1

您需要使用 -I 标志来排除模式:

tree -a -I '.git'

希望能帮助到你。

答案2

我需要排除.git,但.vendor不知道如何指定多个目录。

这有效:

tree -a -I '.git|.vendor'

答案3

我编写了一个基于节点的树克隆,称为树菲迪它遵守 gitignore 设置。它目前还处于 alpha 阶段,但在我的计算机上运行良好。

答案4

Tree 已添加--gitignore标志作为 tree版本 2.0.0(2021/12/21)。这应该可以满足您的需要。

如果你有比这个更旧的版本的树,并且你有ripgrep安装后,您可以创建这样的别名来实现类似的目的。

alias itree='rg --files | tree --fromfile'

相关内容