git设置 mergetool为kdiff3

看一下我的配置:

andrew@andrew-pc:/$ git config -l
user.email=wulong710@163.com
usr.name=wulong
merge.tool=kdiff3
mergetool.kdiff3.path=/usr/bin/kdiff3
 

设置kdiff3为比较工具。还是beyond compare方便,但linux下设置有点麻烦。先kdiff3凑合用

1.kdiff3路径

:/$ which kdiff3
/usr/bin/kdiff3

2.设置kdiff3为比较工具

$ git config --global  merge.tool kdiff3

$ git config mergetool.kdiff3.path "/usr/bin/kdiff3"

 

3.git 合并分支

比如: test_pro工程有两个分支 english  , chinese。想将 english合并到chinese分支中

(1)git checkout chinese

 (2) git  merge english

(3)合并失败,提示有冲突未解决

$ git merge english 
自动合并 res/values/strings.xml
冲突(内容):合并冲突于 res/values/strings.xml
自动合并失败,修正冲突然后提交修正的结果。

(4)git  mergetool

Merging:
res/values/strings.xml

Normal merge conflict for 'res/values/strings.xml':
  {local}: modified file
  {remote}: modified file
Hit return to start merge resolution tool (kdiff3): 

(5)回车,见到kdiff3界面,点击A ,B, C三个按钮,选择正确的代码进行合并。

(6)保存,关闭。解决了一个文件冲突,如果还有别的文件冲突,则会提示继续比较下一个冲突文件,直到所有冲突解决完毕为止。

(7)git add .

(8)git commit -am "解决完了"

(9)git   log    -3

(10)看到把english 分支合并过来了

另一个博客的说明:

  1. 下载kdiff3 
    https://sourceforge.net/projects/kdiff3/files/kdiff3/ 
    Download kdiff3-0.9.98-MacOSX-64Bit.dmg (10.3 MB)

  2. 设置kdiff3为git mergetool

    $ git config --global  merge.tool kdiff3
    $ git config --global  mergetool.kdiff3.path  \
             /Applications/kdiff3.app/Contents/MacOS/kdiff3"
  3. git rebase的时候,如果出现冲突 
    $ git mergetool 会自动运行kdiff3 (类似BeyondCompare的图形化界面) 
    这里写图片描述
    定位到冲突点之后,使用键盘快捷键 cmd+2选择local, cmd+3 选择remote 非常方便

    解决完所有冲突之后,保存退出。命令行继续:
    $ git add .
    $ git rebase --continue  
    重复步骤3 直到完成rebase操作
  4. 解决文件冲突之后,kdiff3会在冲突文件目录生成 <文件名>.orig,需要在.gitignore里面添加一行:

    $ echo "*.orig" >> .gitignore

    如果想要保持目录干净,可以用命令删除所有的.orig文件.

    find ./ -name "*.orig" |xargs rm -f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值