2

假设我们有两个模块superminor. Modulesuper取决于v1.0.3module的版本minor,而v1.0.3是一个带注释的标签minor

        v1.0.3
super <-------- minor

模块minor是一种“私有”,即只有极少数开发人员具有写访问权限,而其他开发人员只有读访问权限。模块super是公开的。

现在我想利用 Git 子模块super对模块之间的依赖关系进行建模。minor不幸的是,我无法弄清楚如何将依赖关系修复为v1.0.3.

此外,我还希望 --- 在未来的某个时间 --- 将依赖项修复到另一个版本。

在所有情况下,我都希望...所有开发人员“自动”检索minor正确版本的模块。...所有开发人员 --- 除了前面提到的小组 --- 都不允许修改这个依赖项(虽然这是一个小问题)

有任何想法吗?

干杯,/纳米

4

1 回答 1

3

首先,子模块引用提交(SHA1),因此记住正确 SHA1 的最简单方法是进入您的子模块git checkout v1.0.3,然后简单地返回到您的父仓库,提交并推送该新状态:因为标签与提交相关联,您将推送您的子模块与该标签相关联的事实。
当您要调整同一子模块的标签时,可以重复相同的过程。

关于修改该子模块的权利,一种控制方法是在您的 Git 服务器上添加一个授权框架: gitolite

于 2012-10-10T06:43:24.930 回答