Git解决冲突结合Eclipse使用

Git解决冲突结合Eclipse使用

  • 背景
  • 场景 1:文件发生了变化,但是不是在同一行
    • 示例
    • Eclipse提交
  • 场景 2 :文件发生了变化,并且在同一行
    • 示例

背景

当两个人及以上都对同一个文件做了修改时,那么在pull或push的时候就会产生冲突。或者服务器上的同一文件跟你自己上次同步后发生了变化时,也会产生冲突。其实都是一个道理。

以下示例:通过直接修改服务器文件来,生成冲突。

场景 1:文件发生了变化,但是不是在同一行

这种场景下,在pull文件时,git会自动合并(merged)

示例

初始状态:保持一致
Git解决冲突结合Eclipse使用_第1张图片
修改本地第29行,修改服务器第31行
本地
Git解决冲突结合Eclipse使用_第2张图片
服务器
Git解决冲突结合Eclipse使用_第3张图片
Git解决冲突结合Eclipse使用_第4张图片

Eclipse提交

Git解决冲突结合Eclipse使用_第5张图片
Git解决冲突结合Eclipse使用_第6张图片
pull服务端代码:

可以先测试下,直接push是什么结果:
Git解决冲突结合Eclipse使用_第7张图片
Git解决冲突结合Eclipse使用_第8张图片
Git解决冲突结合Eclipse使用_第9张图片
Git解决冲突结合Eclipse使用_第10张图片
直接push,是不行的。

还是得先pull
Git解决冲突结合Eclipse使用_第11张图片
Git解决冲突结合Eclipse使用_第12张图片
查看代码:已经自动合并了
Git解决冲突结合Eclipse使用_第13张图片
合并完成后,commit 、 push, 就可以推到服务器了
Git解决冲突结合Eclipse使用_第14张图片
查看服务器代码,push成功!

Git解决冲突结合Eclipse使用_第15张图片

场景 2 :文件发生了变化,并且在同一行

这种场景就需要手动合并(解决冲突了)

示例

接着上面的代码继续:同时修改第33行
Git解决冲突结合Eclipse使用_第16张图片
本地在pull代码时:
Git解决冲突结合Eclipse使用_第17张图片
怎么解决呢?

  • 不复杂的话可以直接在代码里面修改即可
  • 也可以借助工具(对话框)
    Git解决冲突结合Eclipse使用_第18张图片
    Git解决冲突结合Eclipse使用_第19张图片
    手动合并后,commit 、 push 即可:如这里将本地的日期改成用服务器的日期:
    Git解决冲突结合Eclipse使用_第20张图片
    commit 、 push之后
    Git解决冲突结合Eclipse使用_第21张图片

你可能感兴趣的:(工具,git冲突解决,Eclipse提交)