.gitmodule
文件仅指定模块存储库 url,git submodule
如何知道下载哪个版本?似乎总是检出最新版本。那么开发人员如何确保主项目与子模块之间的兼容性呢?
.gitmodule
文件仅指定模块存储库 url,git submodule
如何知道下载哪个版本?似乎总是检出最新版本。那么开发人员如何确保主项目与子模块之间的兼容性呢?
new file mode 160000
index 0000000..4c4c5a2
HEAD
mode下执行此操作(参见“如何使子模块与实际 HEAD
相关联?”)。如果想了解更多子模块的相关内容,以及为什么你可能不希望使用它们,请阅读来自Amber Yust(同样在SO上)的警醒文章“为什么你的公司不应该使用Git子模块”。
以下是一小段摘录,供大家娱乐(重点我加粗了):
当你调用git submodule update
时,它会在父存储库中查找每个子模块的SHA,进入这些子模块,并检出相应的SHA。git submodule update
,它将欣然在没有警告的情况下擦除您的提交,并用刚刚合并的分支中的提交替换它。
我希望您启用了子模块的reflog
或仍然在终端滚动条中有旧的提交,否则,您刚刚失去了所有工作。
哎呀... “疼痛”。