mon*_*tor 5 git git-pull merge-conflict-resolution
简而言之,我们有一个仓库来托管不同职能团队的代码,即服务器端,移动,CI,自动化QA等。
现在,当我们尝试从支持分支的错误修复扩展到开发发布的分支时,出现了许多与不同团队/开发区域有关的冲突。由于我们没有一个人同时负责服务器端和移动端,因此很难解决一个人的冲突。
这里的问题是:是否可以通过某种方式仅解决一些冲突(例如服务器端),然后推送到中间分支,并让其他团队解决与其开发领域相关的冲突。只有在所有团队解决所有冲突之后,才最终合并中间分支。
也许我们在这里做错了。任何建议将不胜感激(除了将代码库分为单独的存储库,为此为时已晚)。
git checkout -b server-team-merge dev-release-branch
git merge support-team-fixes
# fix the conflicts you can fix here
git commit -m "server-team partial merge of $(git describe support-team-fixes)"
Run Code Online (Sandbox Code Playgroud)
其他团队也这样做。然后合并部分合并分支 - 如果结果确实不相交,您可以一次完成所有操作,这将是一个微不足道的操作,
git checkout dev-release-branch
git merge {server,mobile,ci,automation}-team-merge
Run Code Online (Sandbox Code Playgroud)
但如果这些抱怨一次将它们合并在一起,找出关于如何解决某些冲突的不同想法。
当您合并分支时,git 将结果视为结果提交中合并历史记录的正确且完整的合并,因此任何后续合并都会将整个历史记录识别为共享,并且无需执行任何操作。但是,如果您从同一父项进行多次独立合并,则这些合并不会出现在彼此的历史记录中,并且可以产生您想要的任何结果;在这些结果的后续合并中,Git 可以看到提交的祖先并识别正确的基础。
| 归档时间: |
|
| 查看次数: |
2646 次 |
| 最近记录: |