git 个不同分支的子模块

git submodules in different branches

我正在开发一个项目,该项目有不同的分支机构和不同的开发人员。每个项目都有子模块,并且 .gitmodules 在每个分支中都不同,因此当主分支持有者尝试合并时,这会导致合并冲突。我尝试了不同的方法来解决它但没有结果,想象一下我在主分支上没有访问权限。

有人遇到我同样的问题吗?你是怎么解决的?提前谢谢你。

每当您想将某些内容合并到 master 中时,最好的方法是创建一个分支,在其中创建您想要在 master 上的最终状态,然后 merge/PR 该分支。

因此,当开发人员想要将项目分支中的某些内容合并到 master 时,他们会创建一个新分支,将 master 合并到其中(如果需要),解决所有冲突并将其置于有意义的状态关于 master,其中包括根据您的情况修复 .gitmodules 配置。然后他们会提交一个 PR 将该分支合并到 master 中。现在应该没有冲突了,因为在做PR之前冲突已经解决了

此建议适用于所有 PR:最好让提交 PR 的人解决 PR​​ 分支上的冲突,而不是让 master 分支的所有者来做。即使所有者为提交者解决了冲突,他们也可以在接受 PR 之前在 PR 分支上完成。 (如果我认为不值得教 one-time 贡献者如何解决他们的冲突,我可能会这样做,但我认为这是一个很好的学习机会,所以我通常更愿意花时间向贡献者展示如何做相反。)