假设我有两个repo R1和R2,它们使用一个公共子模块。
当时间到了,建立他们中的任何一个,我看到两种可能的方式
- 在特定提交时保持子模块处于分离状态
- 总是使用$git pull将其更新为最新更改
哪种做法最好、最安全?
谢谢!
这两个存储库都有对子模块存储库中提交的独立引用。如果要更改提交,则必须在父存储库中提交更改后的子模块提交id。
在特定提交时保持子模块处于分离状态
总是有在子模块中签出某个提交。可能有某个分支指向该提交,也可能没有。父存储库只知道当前应该签出的提交的id。
始终使用$git pull 将其更新为最新更改
这完全取决于何时。这通常是在父存储库需要子模块的更新功能,或者进行了重要的错误修复时完成的。否则,就没有必要进行更新。
我建议对子模块做一些进一步的阅读,例如在pro git的书中。