git代码多人写同一个页面或功能,合并代码冲突

让板砖飞丶
  • 22

当多人开发同一个页面或者功能的时候,合并代码的时候会出现莫名其妙的bug
图片描述

图片描述

图片描述

图片描述

等等诸如此类的情况,这种合并不会报错,就直接合并了,导致有时候都不知道哪里出错了,多人开发也不协调。
拉取和提交代码用的是git bash命令行,没用图形化工具,所以这种情况要怎么解决和避免呢,求教。

回复
阅读 2.9k
4 个回答
小哈
  • 214
✓ 已被采纳

首先说可以手动解决冲突。具体的方法一堆,上面的大佬已经说明了。。。

我想强调的是,像你截图这种的代码我就问一句,人工合并你怎么合并,?是两个人用了一样的 className 还是说两个不同的东西碰巧起名一样了?是不是要去检查逻辑了。如果已经过去个几天了。是不是还得看代码?所以这是团队合作的问题,改公共的之前,一定要看别人用没用到。这只证明你们两个人都没去看,都只管自己的代码了。

说下怎么做:
首先公共区域最好有专门一个人负责。另外一个人如果想改或者增加,去跟负责人讲,想增加功能的那个人可以写,但是合并代码一定让负责的人拍板。
其次不同的人做不同的功能,不同的功能以不同的文件来分割。采用模块化编程(这个不在这里详解)的方式。这样即使命名冲突了。但是也不会互相影响的。

推荐ide里面的git工具

  • 第一步:选择要提交的文件, 然后点击commit
  • 第二部:先拉取远端代码到本地, 这一步ide会自动stash, 小的冲突自动merge, 大的冲突弹出选择
  • 第三部 直接push

省时又省力

你们可以尝试比较分支的区别。
查看dev分支比master多提交了那些内容:

git log master..dev

也可以比较不同commit之间的区别:

git diff COMMIT1 ^ COMMIT2
臧瑟
  • 401
  1. 合并的时候,用可视化工具,github Desktop 或者 sourceTree等查看合并后的代码,可以明确的看到自己的改动在哪些地方,确保自己的改动没有影响别人的功能,自己写的代码要自己负责啊;
  2. 如果是合并的那个人,最好能把合并后的代码跑一遍,看看有没有明显的异常;
  3. 而且团队里面需要一定的规范,像全局写CSS这种要慎重,很容易影响别人的代码,工具能做的也有一定的限度,这种情况靠个人的把控和团队规范更加靠谱。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进