gpt4 book ai didi

git - 仅解决某些文件的 merge 冲突并提交其他团队的分支以解决他们的冲突

转载 作者:太空狗 更新时间:2023-10-29 13:25:05 26 4
gpt4 key购买 nike

简而言之,我们有一个存储库,用于托管不同功能团队的代码,即服务器端、移动端、ci、自动化 qa 等。

现在,当我们试图从 support-branch bug fixes 下 pull 到 dev-release-branch 时,许多冲突似乎与不同的团队/开发领域有关。由于我们没有一个人负责服务器端和移动端,因此很难为一个人解决冲突。

这里的问题是:是否有可能以某种方式只解决部分冲突(例如服务器端),然后推送到中间分支,让其他团队解决与他们开发领域相关的冲突。并且只有在所有团队都解决了所有冲突之后才最终 merge 中间分支。

也许我们在这里做错了什么。任何建议将不胜感激(除了将代码库拆分为单独的 repo 协议(protocol),这太晚了)。

最佳答案

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)"

其他团队也这样做。然后 merge 部分 merge 分支——如果结果真的不相交,你可以一次完成它们,这将是一个微不足道的操作,

git checkout dev-release-branch
git merge {server,mobile,ci,automation}-team-merge

但如果有问题,请一次将它们 merge 为一个,以找出关于应如何解决某些冲突的不同想法。

当您 merge 一个分支时,git 将结果视为 merge 历史记录在结果提交中的正确且完整的 merge ,因此任何后续 merge 都将把整个历史记录识别为共享的,并且没有什么可做的。但是,如果您对同一父项进行多次独立 merge ,那么这些 merge 不在彼此的历史记录中,并且可以得到您想要的任何结果;在这些结果的后续 merge 中,Git 可以看到提交的祖先并识别正确的基础。

关于git - 仅解决某些文件的 merge 冲突并提交其他团队的分支以解决他们的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47835297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com