小编She*_*don的帖子

GIT:查找包含子模块的文件列表(例如使用git ls-files)

我一直在试图找出如何获取git repo中所有文件的列表,包括子模块中包含的文件.目前,git ls-files将提供顶级子模块目录,但不提供子模块中包含的文件.在进一步调查中,我发现使用git submodule,你可以递归地找到所有的子模块然后去git ls-files使用:

git submodule --quiet foreach --recursive "git ls-files"
Run Code Online (Sandbox Code Playgroud)

唯一的问题是结果是来自子模块的路径,但我需要来自repo的完整路径.所以对于以下内容

例如/ some/path/to/gitrepo/source/submodule/[file1,file2]

我看到的是:

file1
file2
Run Code Online (Sandbox Code Playgroud)

我想看到的是:

source/submodule/file1
source/submodule/file2
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?从文档中,有一些预定义的变量($ name,$ path,$ sha1和$ toplevel),但我不知道如何使用它们来获得所需的结果.

git github

8
推荐指数
2
解决办法
1521
查看次数

标签 统计

git ×1

github ×1