解决git代码冲突之强大利器kdiff3工具配置与使用

这篇具有很好参考价值的文章主要介绍了解决git代码冲突之强大利器kdiff3工具配置与使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

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可以自动智能合并一些冲突,剩下的不能智能合并的,需手动执行合并,如下:

kdiff3,版本控制工具,git,kdiff3

  • 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,进行选择即可。动图如下:kdiff3,版本控制工具,git,kdiff3

 说明:

  • 在冲突处单击右键选择“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

KDiff3 merge conflict 窗口操作说明文章来源地址https://www.toymoban.com/news/detail-713851.html

到了这里,关于解决git代码冲突之强大利器kdiff3工具配置与使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Git】TortoiseGit代码冲突解决方法

    冲突场景:User1和User2修改、拉取相同文件 User1修改文件C内容,提交并推送,成功; User2修改文件C内容,拉取,提示合并错误。 冲突分析: 此时文件状态还未显示冲突,因为本地文件只是修改,并未提交到本地暂存区;而此时从远程拉取的文件已保存在暂存区,但又无法和

    2024年01月20日
    浏览(73)
  • Git_常用命令+代码冲突解决方案

    –local: 配置对当前仓库有效 –global: 配置对当前用户(指的是当前用于登录系统的用户)的所有仓库有效 设置用户名及邮箱 注意:由于此处设置的用户名中间有空格所以要使用双引号,正常设置时无需使用双引号 设置仓库的认证方式 credentail.helper后的参数可选: cache: 在第

    2024年04月14日
    浏览(56)
  • 【探索Linux】—— 强大的命令行工具 P.5(yum工具、git 命令行提交代码)

    前面我们讲了C语言的基础知识,也了解了一些数据结构,并且讲了有关C++的一些知识,也学习了一些Linux的基本操作,也了解并学习了有关Linux开发工具vim 、gcc/g++ 使用,也相信大家都掌握的不错,今天博主带大家了解一下 —— yum工具以及git 命令行提交代码 , 下面话不多说

    2024年02月12日
    浏览(50)
  • 【git merge/rebase】详解合并代码、解决冲突

    目录 1.概述 2.merge 3.rebase 4.merge和rabase的区别 5.解决冲突 在实际开发中,一个项目往往是多个人一起协作的,头天下班前大家把代码交到远端仓库,第二天工作的第一件事情都是从服务器上拉最新的代码,保证代码版本的一致性。在这种团队协作中大家修改到同一份文件是难

    2024年02月08日
    浏览(55)
  • vscode中git拉取、提交代码、解决冲突,以及合并代码的操作

    场景:本地有修改代码,远程仓库没有更新,这时本地想要提交代码。 步骤:本地修改了testA文件内容-本地先暂存提交-拉取-推送; 本地修改了testA文件内容 本地先暂存提交 拉取 推送 远程仓库上就可以看见提交记录了 解决冲突场景:本地有修改代码,远程仓库同时有更新

    2024年02月05日
    浏览(66)
  • git代码冲突解决,覆盖本地,本地和远程保持一致方法

    Git是我们开发中用到的一种代码保存和合并开发的工具,但是因为开发是团队,因此会出现合并代码冲突的问题,所以我们需要解决冲突的代码。   因为在合并分支的时候,master分支和dev分支恰好有人都修改了同一个文件,GIT不知道应该以哪一个人的文件为准,所以就产生

    2024年02月05日
    浏览(47)
  • idea解决代码冲突-git分布式合并分支-加git回滚操作

    第一次接触项目发版的工作,记录一下解决版本冲突合并问题的心得。 适用场景:分布式项目,多人使用自己分支开发,最后合并自己的代码分支给主分支。 话不多说,直接看图 1.全部拉下来(这个拉取是全部拉取,既保证自己的分支最新,同时也把远端的分支都拉到最新

    2024年02月08日
    浏览(119)
  • 解决新版vscode在git merge代码的时候,解决代码冲突的选项按钮不见的问题

    由于vscode新版本中,在git merge代码的时候,解决代码冲突的选项按钮不见了,目前了解1.70.0-1.80.0版本都有这个问题, 如图: 解决方法: 点击设置搜索’merge editor’,如图: 取消勾选后,冲突代码解决按钮会出现; 注意此处按钮勾选状态和意思是相反的,默认是勾上的

    2024年02月15日
    浏览(49)
  • Idea中解决Git冲突问题及merge代码消失问题【git常用tips】

    Git命令全系列 我们可以通过Idea直接从GitLab或GitHub等平台上拉取代码 如果上述的小技巧拉取不下来,尝试勾选下图的选项 2.1 演示冲突(GitLab) ①首先在GitLab中或者任意代码托管平台创建一个自己的仓库 通过上面的命令将仓库克隆下来 ②在自己的项目中,任意创建一个类 ③

    2024年01月25日
    浏览(51)
  • Java后端入职第二天,Git代码提交冲突优雅解决

    现在大部分公司开发基本是使用Git作为版本管理的工具,除非一些比较老或者传统的公司还在使用SVN。Git也有很多平台,包括阿里的codeup,码云,gitlab,以及GitHub,甚至有的还会自己去搭建版本管理平台,但是,最终使用的命令还是Git,所以大家只要熟悉使用git命令即可。本

    2024年02月04日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包