我想访问一个裸的git存储库,并列出存储库中的所有文件。
在普通的git存储库中,我可以轻松地运行 git ls-files
来做到这一点。
示例输出:
$ git ls-files
README.md
file1.js
file2.js
file3.js
folder1/file4.js
folder2/file5.js
在一个裸的 Git 仓库中,这个操作会默默地失败。它不会返回任何文件(但会成功退出)。
在一个裸的 Git 仓库中,这个操作会默默地失败。它不会返回任何文件(但会成功退出):
$ cd my-bare-repository
$ git ls-files #returns nothing
$ echo $? #print exit code from previous command
$ 0
现在我知道我必须提供一个有意义的分支或主分支来显示。但是,我如何实际上获取我知道存在于我的存储库中的文件列表?
git ls-tree --full-tree -r --name-only HEAD
列出文件名(不包括权限和 blob SHA 值等无关信息)。 - VonCgit ls-files
在我使用的 git 2.27 裸仓库中可用,很可能在此之前就已经支持了。 - Victor Roetman