我有A、B、C和D四个库。
依赖关系如下:
A
|
/ \
B C
\ /
D
然而我们已经设置了B和C的git仓库,其中D是一个子模块。我们希望在A中设置B和C作为子模块,但同时也想让它们都指向一个单独的D子模块实例。
有人知道正确的做法吗?
我有A、B、C和D四个库。
依赖关系如下:
A
|
/ \
B C
\ /
D
然而我们已经设置了B和C的git仓库,其中D是一个子模块。我们希望在A中设置B和C作为子模块,但同时也想让它们都指向一个单独的D子模块实例。
有人知道正确的做法吗?
对于子模块进行更改然后检查该更改是否影响了依赖它的存储库是很正常的,但现在你必须记得进入菱形结构中的另一个存储库并确保它也能正常工作(自动化测试 - 特别是通过git钩子运行 - 可以在这方面提供很大帮助)。如果您还原了B/D中的提交,例如,或者检出旧的提交,或者在B/D中切换分支,则必须始终跳转到C/D并确保它仍然能够正常工作。这种设置可能会成为一种微观管理疼痛,容易导致损坏提交,其中B针对当前的D进行操作,但是C不行,反之亦然。