裸存储库中的git ls-files

Jes*_*sen 33 git git-bare git-ls-files

我想访问一个裸git存储库,我想列出存储库中的所有文件.

在普通的git存储库中,我可以通过运行轻松完成git ls-files.

示例输出:

$ git ls-files
README.md
file1.js
file2.js
file3.js
folder1/file4.js
folder2/file5.js
Run Code Online (Sandbox Code Playgroud)

在一个裸git存储库中,这会无声地失败.它只是不返回任何文件(但成功退出):

$ cd my-bare-repository
$ git ls-files #returns nothing
$ echo $? #print exit code from previous command
$ 0
Run Code Online (Sandbox Code Playgroud)

现在我知道我必须提供一个有意义的分支或主要显示.但是,我怎样才能真正获得我知道的存储库中的文件列表?

Von*_*onC 53

您可以尝试列出文件的其他命令:

git ls-tree --full-tree -r HEAD
Run Code Online (Sandbox Code Playgroud)

根据这个评论,命令git ls-tree裸仓库中运行.

  • @JesperRønn-Jensen你也有`git ls-tree --full-tree -r --name-only HEAD`,只列出文件名,(没有关于权限和blob SHA值的主要内容) (4认同)