我想在我与另一位开发人员合作的项目上帮助我的git工作流程。它似乎产生了大量的合并冲突,我想确保我没有犯下一个愚蠢的错误。
首先,我们的"主要" branch被称为develop
。它被认为是源代码的佳能分支,它是上帝。只要我们有发布版本,develop
就会合并到master
中,并且提交标记为SemVer版本。根据我的理解,这是相当标准的。
每当需要处理一个功能/位代码时,分支就会被称为develop
的{{1}}的HEAD中断。这些分支通常会在范围上重叠,因为我们同时处理类似的事情。这些分支被认为是私有的,这意味着我们不会在未经另一方的许可的情况下向其他分支承诺。
如果我们想要公开我们的变更,我们会反对发展,然后合并成一个la:
developer/feature-name
功能分支保持打开状态,直到功能完成,之后其重新组合+如上所述合并,然后删除。
然后另一位开发人员将他的分支机构改为开发。在那一点上,每个人都是最新的。这就是我似乎遇到大量合并冲突的地方,即使是后续的冲突,我没有添加一条线,但他确实等等。
由于合并冲突,我认为最好来到这里,看看我是否正确地做事,因为我没有在网上看到任何类似于我描述的工作流程。
欢迎任何意见,并感谢您的帮助。
编辑#1:
我得到的合并冲突的一个例子:
--->E--->F developer/feature-branch
/
A--->B--->C--->D develop
AFTER git rebase develop + git checkout develop && git merge developer/feature-branch
A--->B--->C--->D--->E--->F develop developer/feature-branch