在我的项目中,我们使用git子模块来管理一些插件。我们的核心项目和子模块都是并行开发的。因此,对于我们来说,每次子模块向前移动时都必须更新核心项目中子模块的SHA(并且必须解决不同开发人员之间的SHA上的冲突等),这对我们来说效果不佳。 p>
我们想告诉它跟踪一个分支,让它成为那样。但似乎子模块分支跟踪使得更新子模块变得更容易,但是没有什么可以缓解我们将超级项目指向特定SHA而不是分支的问题。
有人对我们有任何建议吗?
答案 0 :(得分:1)
一种可能的替代方法是使用git子树而不是子模块。
使用过一个我不确定我是否会推荐它作为长期解决方案,但是https://www.atlassian.com/blog/git/alternatives-to-git-submodule-git-subtree和https://legacy-developer.atlassian.com/blog/2015/05/the-power-of-git-subtree会合理地介绍它是如何工作的,并且应该帮助您确定它是否是一个更好的工作流程,满足您的特定需求。
答案 1 :(得分:0)
正如其他人所说,git子模块不是为我们的项目所做的设计的。但是我找到了一种方法来实现我们想要的东西......如果它对任何人都有用,我会发布在这里:
所以,这给了我们想要的东西......一个允许新用户递归克隆所有相关插件并通过git submodule <command>
进行批量操作的子模块,但没有跳过我们没有的固定提交SHA想。