我在一个团队中工作,前端开发人员和后端开发人员在单个功能分支上一起工作。目前我们不知道当前后双方产生 merge 冲突时如何解决 merge 冲突。
假设我们的仓库中有 3 个文件:
index.html
frontend_code.js
backend_code.py
frontend_code.js
和 backend_code.py
都与 master 冲突(例如另一个开发团队将某些内容 merge 到 master)。
我们希望同时保留:新功能代码和已 merge 到 master 的代码。这是一个问题。
后端开发人员只知道如何修复 backend_code.py
,而前端开发人员知道如何处理 frontend_code.js
,并且要解决冲突,您必须处理整个代码库。
是否有一个选项可以通过文件/文件夹解决冲突,以便每个开发人员都可以自己执行此操作?
最佳答案
您遇到组织问题,并且正在尝试通过技术解决它。一个类比,因为我讨厌糟糕的类比:
How can I let two of my employees use the same hammer at the same time?
现在有人可能会说:
Hire a left-handed person and a right-handed person, put the former to the right of the latter, and now they can hold it and hammer together.
例如参见git partial merge, not whole branch , Resolve merge conflict only for some files and commit to branch for other teams to resolve theirs .
但它忽略了你应该购买第二把锤子的 Gist 。您的场景也是如此:在同一功能分支上工作的不同学科的人将会遇到冲突,特别是在将其他分支 merge 到他们的分支中时,因为他们不知道 merge 后代码应该是什么样子。
因此,我建议首先回到规划阶段,并确保后端团队在前端团队消耗其工作之前完成其功能。如果这很难做到(通常是在构建 Web 应用程序的商店中),那么我建议再次拆分您的功能分支:feature/foo/front-end
, feature/foo/back-end
。然后,双方都可以在完成后 merge 彼此的更改,并解决他们知道如何解决的冲突。
关于git - 仅解决较大团队中的部分 merge 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63829220/