当前位置:  开发笔记 > 开发工具 > 正文

列出Git存储库中存在的所有文件

如何解决《列出Git存储库中存在的所有文件》经验,为你挑选了2个好方法。

您是否有一种干净的方法来列出指定分支中存在的所有文件?



1> Dustin..:

这是Strager 解决方案的简化版本:

git log --pretty=format: --name-status | cut -f2- | sort -u

编辑:感谢Jakub在评论中教我更多,这个版本有一个更短的管道,让git有更多机会把事情做好.

git log --pretty=format: --name-only --diff-filter=A | sort -u


@Dustlin:添加--diff-filter =一个选项(仅列出添加的文件).如果您已启用重命名检测并在历史记录中重命名,则当前版本(不使用sed过滤仅添加的文件)将失败.我想你可以使用--name-only而不是--name-status并从管道中删除'cut -f2-'.
*注意:如果你有一个以上的孤儿小费,你就需要`--all`.例如,一个回购中有多个独立的历史.*
--diff-filter = A会忽略通过复制现有文件创建的文件,因此添加文件可能不会总是您想要的。

2> 小智..:

这对于检查repo中是否存在文件名而不仅仅是当前分支是正确的.

git log --all --pretty=format: --name-only --diff-filter=A | sort - | grep fubar

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有