Git解决冲突
- 安装beyond compare 4
2.配置git对比工具
#difftool 配置
git config --global diff.tool bc4
git config --global difftool.bc4.cmd "\" C:/Program Files/Beyond Compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\""
git difftool HEAD // 比较当前修改情况
#mergeftool 配置
git config --global merge.tool bc4
git config --global mergetool.bc4.cmd"\" C:/Program Files/Beyond Compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
git config --global mergetool.bc4.trustExitCode true
#让git mergetool不再生成备份文件(*.orig)
git config --global mergetool.keepBackup false
- 任务分支合并冲突解决
1.在目标分支上撤销任务分支代码
1)切换到目标分支
Git checkout G4
Git pull
2)检查目标分支上是否有任务分支代码合并过
Git log –oneline –grep=”E00P00-123”
3)若已合并过则撤销任务代码并提交
Git revert –no-commit $(git log –pretty=”%h” –grep=”E00P00-123”)
Git commit –m “xxx E00P00-123 XXXXXXXXX#任务代码撤销”
若未合并过或撤销有冲突则跳过此步
2.将任务分支合并到目标分支
Git merge –squash origin/E00P00-123
3.若合并有冲突则解决冲突
1)查看冲突文件
Git status
2)打开合并工具
Git mergetool
3) 出现bc界面后解决冲突
4.冲突解决完毕后提交代码
Git commit –m “xxx E00P00-123 XXXXX”
- 推送分支
Git push
- 集成分支、develop、master分支合并冲突解决(以集成分支G3合并到develop分支为例)
1.合并集成分支到develop
Git checkout develop
git pull
git merge –no-commit origin/G3
2.若有冲突则使用对比工具解决冲突(同合并任务分支解决方式一样)
Git mergetool
3.冲突解决完毕后提交代码
git commit –m “XXX E00P00-124 XXXXXX” (以发布任务标题作为提交日志)
4.推送分支
Git push