zayzy 2021-12-29 16:48 采纳率: 94.1%
浏览 58
已结题

关于git合并出现代码冲突的问题

1、什么情况下会出现代码冲突?
2、A开发人员修改a文件合并到master,B开发人员同样修改了a文件同一部分去合并到master,这时候会出现冲突,为什么不能理解为B修改了A的,而是出现冲突了呢?
3、代码覆盖是覆盖哪一部分?整个文件还是修改了的?

感谢回答!

  • 写回答

2条回答 默认 最新

  • kevinmartin 2021-12-29 17:08
    关注

    1、什么情况下会出现代码冲突?
    很明显,2个人或者多个人同时提交了代码,代码库不知道以谁的为准,这个时候就出现了代码冲突的情况;
    2、A开发人员修改a文件合并到master,B开发人员同样修改了a文件同一部分去合并到master,这时候会出现冲突,为什么不能理解为B修改了A的,而是出现冲突了呢?
    我们看一个时间线:A拉取了最新的代码,B拉取了最新的代码,A修改文件,B修改文件,A提交代码文件a到git,B提交文件a到git,A提交的时候正常,因为git不知道B也在修改;B提交的时候,因为B这个时候本地的版本是A提交之前的版本,这个时候git认为A和B在同时修改同一个文件,不能用B的覆盖A的,所以需要B手动merge,看B的改动在A的改动的基础上有什么变化。
    如果换一个case可能就没问题了:A拉取,B拉取,A修改,A提交,B拉取,B修改,B提交,这一套流程下来,就没有问题了。
    3、代码覆盖是覆盖哪一部分?整个文件还是修改了的?
    现在很多merge工具会比较智能的做merge,实在区分不出来的,才会提出来让人手工merge。但merge的时候也会给出几个option:1. 使用代码库的(others),2. 使用我自己的(local),3. 手工merge。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 创建了问题 12月29日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改