Git学习笔记--- diff工具 kdiff3
图形化的git diff 与 git merge工具:kdiff3
1.安装
win10:
去官网左边找到Download,下载双击安装。
Linux(Debian Ubuntu 18.04):
apt-get install kdiff3
2.配置
win10:
git config --global --add merge.tool kdiff3 git config --global --add mergetool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe" #我默认安装的位置 git config --global --add mergetool.kdiff3.trustExitCode false git config --global --add diff.guitool kdiff3 git config --global --add difftool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe" #我默认安装的位置 git config --global --add difftool.kdiff3.trustExitCode false
Linux(Debian Ubuntu 18.04):
git config --global --add merge.tool kdiff3 git config --global --add mergetool.kdiff3.path "/usr/bin/diff3" git config --global --add mergetool.kdiff3.trustExitCode false git config --global --add diff.guitool kdiff3 git config --global --add difftool.kdiff3.path "/usr/bin/diff3" git config --global --add difftool.kdiff3.trustExitCode false
3.使用
diff:
# 将某个文件的当前版本和代码库中的版本做比较 git difftool main.c # 将某个文件的当前版本,和某个分支中这个文件的版本做比较 git difftool some-branch script.js # 将两个tag中的某个文件做比较 git difftool tag1..tag2 style.css # 比较两个分支 git difftool branch1 branch2
merge:
如果是pull下来之后有冲突,直接执行git mergetool即可手动执行合并。
软件的操作比较简单3分钟即可上手。
最后上图:
A、暂存区1中的版本(共同祖先版本)。
B、暂存区2中的版本(当前分支更改的版本)。
C、暂存区3中的版本(他人更改的版本)。
如果想同时保留B和C的代码,可以把B和C一起按下(支持3个一起)。
另外:
使用kdiff3合并代码会创建backup文件,*.orig,每个文件都会有一个对应的orig文件,大多数情况该文件并没有用,有两种方案解决这些残留的无用文件
1、在.gitingore文件中添加*.orig
2、执行
git config --global mergetool.keepBackup false
杜绝生成orig文件
参考:
http://blog.sina.com.cn/s/blog_7cbaa68a0101im7d.html
https://blog.csdn.net/guochaoxxl/article/details/53452688