目录
1. 简介
2. 安装
3. 配置
4. 使用
1. 简介
KDiff3是一款用来对文件或目录进行比较/合并的工具,在比较时它可以同时针对两个或者三个文件/目录而进行。通过比较,它将文件/目录的差异按行加以显示。同时,KDiff3 提供有自动化的合并工具,方便使用者进行有关合并的操作。
2. 安装
win10:
去官网左边找到Download,下载双击安装。
Linux(Debian Ubuntu 18.04):
sudo apt-get install kdiff3
Linux(Centos 7):
sudo yum -y kdiff3
3. 配置
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:
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
4. 使用
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后,git mergetool可以自动智能合并一些冲突,剩下的不能智能合并的,需手动执行合并,如下:
- A: Base 当前文件与将要合并文件的共同部分即后面提到的B:Local 和C:Remote共同祖先,即上图中的左上小窗口。
- B:Local 你当前正在更改的分支版本,即上图中的中间小窗口。
- C:Remote 他人更改的版本,即上图中的右上小窗口。
- Output : 合并后的新文件,即上图中的下部小窗口。
- A: Base是B:Local和C:Remote共同祖先,即最开始时B:Local和C:Remote都是从A: Base更改而来的。
只需要在Output窗口进行右键A B C 选择即可解决conflicts,并且有的已经帮你自动选择好了,可能情况下只需要你点击菜单栏的 unsolved conflicts,进行选择即可。动图如下:
说明:
- 在冲突处单击右键选择“Select Line(s) From A”,表示用A: Base即共同祖先代码作为最终输出代码。
- 在冲突处单击右键选择“Select Line(s) From B”,表示用B:Local即你当前正在更改的分支版本代码作为最终输出代码。
- 在冲突处单击右键选择“Select Line(s) From C”,表示用C:Remote即他人更改的版本代码作为最终输出代码。
完成本次冲突处理后,单击工具栏跳到下一处出冲突按钮,处理下一处冲突,反复如此,直到处理完所有冲突,保存或退出时保存就可以解决所有冲突。
使用kdiff3合并代码会创建backup文件,*.orig,每个文件都会有一个对应的orig文件,大多数情况该文件并没有用,有两种方案解决这些残留的无用文件
- 在.gitingore文件中添加*.orig。
- 执行如下配置:
git config --global mergetool.keepBackup false
杜绝生成orig文件。
参考链接:
Git学习笔记--- diff工具 kdiff3文章来源:https://www.toymoban.com/news/detail-713851.html
KDiff3 merge conflict 窗口操作说明文章来源地址https://www.toymoban.com/news/detail-713851.html
到了这里,关于解决git代码冲突之强大利器kdiff3工具配置与使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!