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

关于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日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失