git 解决冲突的几种方式



 

 

 由于好久没解决过冲突都有点手深了,今天花时间总结一下自己知道的几种方式。

什么情况下容易出现冲突呢?一般就是多个开发者对同一个文件做了修改,同行修改(出现冲突),不同行git 很智能的做了自动合并不需要人为修改,一个改了push 上去,另一个由于在同一个文件修改,所以就会出现 push 不上去,这样就需要人为解决(团队之间要商量)把那些有用的代码梳理好在提交,如果不商量很容易把别人的代码给丢弃了(不过git也可以通过日志找回只要开发者在本地提交了(commit)),,,,

目前我主要尝试了三种方式 看哪种你习惯,本人推荐命令(不依赖开发工具())这里我用两个账号模拟

早上来 a ,b两个开发人员都从远程 拉取了最新的代码 git fetch git merge

然后 a 在第一行修改 git add git commit git push

b 也在第一行做了操作 这时候 git add git commit git push(这是就会提示让你拉取最新的版本已经不一致了 git pull)这时候就会提示你要你解决冲突如图

 打开文文件 发现

手动修改 去掉那些特殊符号

在 执行commit -a 会出现一个linux 编辑器 :wq 保存退出就行

然后在 push 就可以了

第二种就是 调用比较工具Beyond Compare 需要配置

.gitconfig 文件 配置软件的位置

[merge]
    tool = bc3
[mergetool "bc3"]
    cmd = 'D:/Program Files/Beyond Compare 4/BCompare.exe' \
    "$PWD/$LOCAL" \
    "$PWD/$REMOTE" \
    "$PWD/$BASE" \
    "$PWD/$MERGED"
    keepBackup = false
    trustExitCode = false



 

到这里后敲 git mergetool (如果工工具调不出来 有可能提示 敲这条命令即可 beyond compare )




 

 最后退出,会提示保存合并 选是,

在敲git commit -a git push即可

第3种 就是 idea修改 后add commit&push

会提示你merge



 

 

 

 result 就是你最后的结果

最后点击应用(apply) 就可以了

猜你喜欢

转载自lyc984006207.iteye.com/blog/2397909