假设我们有两个模块super
和minor
。模块super
取决于模块v1.0.3
的版本minor
,而v1.0.3
是minor
上带注释的标记:
v1.0.3
super <-------- minor
模块minor
有点“私有”,即只有极少数开发人员具有写访问权限,而其他开发人员只具有读访问权限。模块super
是公开的。
现在我想使用Git子模块模拟模块super
与模块minor
的依赖关系。不幸的是,我无法弄清楚如何将依赖项修复为v1.0.3
。
此外,我还希望---将来的某个时间---将依赖项修复为另一个版本。
在所有情况下,我都希望如此
...所有开发人员“自动”以正确的版本检索模块minor
。
...所有开发人员---但前面提到的小组---不允许修改这种依赖(这是一个小问题)
有什么想法吗?
干杯, /纳米
答案 0 :(得分:1)
首先,子模块引用提交(SHA1),因此记住正确SHA1的最简单方法是进入子模块并简单地git checkout v1.0.3
,然后返回到父级仓库,提交并推送新状态:由于标记与提交相关联,因此您将推动子模块与该标记关联的事实
当您想要调整同一子模块的标签时,可以重复相同的过程。
关于修改该子模块的权利,一种控制方法是在Git服务器上添加authorization framework:gitolite。