列出带有git ls文件的文件,而不是当前工作目录

  • 本文关键字:文件 当前工作 git ls git
  • 更新时间 :
  • 英文 :


我正在寻找类似于以下命令的命令,但这总是从存储库根列出,而不是当前的工作目录:

git ls-files --cached --others --exclude-standard

如果可能的话,我不想使用bash/batch,因为我正在寻找跨平台解决方案。

如果不是git别名,则可以在2个命令中完成:

git ls-files $(git rev-parse --show-toplevel)

如果您可以创建一个别名,

git config --global alias.ls-files-root "! git ls-files"

那么您应该能够做

git ls-files-root --cached --others --exclude-standard

说明:以'!'开头的别名。从顶级目录中执行为shell命令。相关:有没有一种方法可以在一个命令中获取git root目录?

命令期望Pathspecs作为ARG通常允许引导:/表示工作树的根。因此您可以使用:

git ls-files --full-name :/

这比与git rev-parse --show-toplevel输出结合使用要好,因为后者不允许您在存储库中找到特定文件。IE。这是:git ls-files -- $(git rev-parse --show-toplevel)"*filename.c"行不通,但是此git ls-files ":/*filename.c"可以。而且也很短。

相关内容

最新更新