在裸仓库上执行git命令

8

我在我的服务器上托管了一些我正在开发的裸 git 仓库。我想在我的网站上显示每个仓库的基本统计信息;暂时只考虑简单的东西,比如列出仓库中的所有文件。在非裸 git 仓库中,可以使用以下命令完成此操作:

git ls-files

但是对于裸仓库而言,这个命令(以及大多数其他git命令)都不可行。我确信可能有一种简单的方法来执行这个特定的命令,但是我可能想要显示不同仓库的复杂/项目特定的统计信息,所以我真正想问的是:是否有一种方法可以在裸仓库上执行任何/所有git命令,而不必制作临时克隆或类似复杂的东西。我怀疑有些命令参数需要设置,但我还没有找到哪一个。


我认为gitweb不会覆盖我可能想要跟踪的所有内容;我预计将来可能需要一些非常具体的统计数据,例如“显示所有由用户X完成的提交,其消息包含字符串Y并且在日期Z之前”,因此我可能需要自己编写处理这些脚本,这需要裸仓库无法执行的命令。 - Josh Buell
我遇到麻烦的另一个命令是git blame,但是这个SO问题回答了它。这里 - Josh Buell
1个回答

13

你可以运行这个:

git ls-tree -r HEAD --name-only

显然,你必须指定一个分支或引用,因为裸库中没有工作树或索引。

我不知道其他命令,但你实际上可以在裸库中执行大多数命令,但那些需要工作树的除外。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接