我们有一个带有客户自定义应用程序的 gitolite 服务器。
每个应用程序都有一个子模块“存储库/核心”,它引用我们的基础应用程序。
我们现在想创建一个仪表板,显示我们所有客户的应用程序以及核心所在的版本。
gitolite 将所有内容存储在磁盘上的裸存储库中,仪表板应用程序可以直接访问存储库/或使用 ssh key ,如果这样更容易的话。
我的问题是我如何从一个裸存储库中找出子模块的修订版本,以及提交它的人?
最佳答案
我只需要为 CI 服务器实现它。棘手的部分是只保留简单的 checkout 。
我的解决方案如下:
1) git show HEAD:.gitmodules
可用于获取作为子模块的路径列表。
2) 每个 path =
,第三个字段可用于确定子模块所在的 SHA:
git ls-tree -z -d HEAD -- <submodule path>
关于git - 从裸存储库获取子模块哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26018979/