首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用KDiff3编辑Git中的差异

使用KDiff3编辑Git中的差异
EN

Stack Overflow用户
提问于 2012-09-25 19:08:47
回答 2查看 7.7K关注 0票数 15

通常,当我做不同的时候,我想在提交之前编辑我的本地文件。这在Eclipse的比较视图中非常好用,因为它允许您轻松地编辑本地文件以及复制以前版本中的更改。

我正试图设置Git和KDiff3,以便以同样的方式工作。当我使用KDiff3作为我的合并工具时,它会像预期的那样工作。然而,当我将它设置为difftool时,它给了我一个只读视图,所以我不能做任何编辑。根据文档(http://kdiff3.sourceforge.net/doc/documentation.html),我希望--output选项给出我想要的两个文件合并,但它没有。我的.gitconfig的相关部分:

代码语言:javascript
复制
[diff]
  tool = kdiff3
[difftool "kdiff3"]
  cmd = /Applications/kdiff3.app/Contents/MacOS/kdiff3 $LOCAL $REMOTE --output $LOCAL
  trustExitCode = false
EN

回答 2

Stack Overflow用户

发布于 2012-10-20 19:08:40

如果我使用以下命令,可以使用KDiff3编辑树中的文件:

代码语言:javascript
复制
kdiff3 $LOCAL $REMOTE --output $MERGED

KDiff3在我的$PATH中,所以重要的一点是将$LOCAL的输出改为$MERGED

来自git-difftool手册:

使用以下可用变量调用...the配置的命令行:$LOCAL设置为包含diff预映像内容的临时文件名,$REMOTE设置为包含diff后映像内容的临时文件名。$MERGED是要比较的文件的名称。

由于将输出设置为$LOCAL将写入临时文件,因此您将希望写入$MERGED,因为这将是树中的实际“本地”文件。

票数 8
EN

Stack Overflow用户

发布于 2021-08-18 13:18:03

在这里,一步一步地指导在Eclipse中为GIT配置kdiff3:

  1. 让git创建一个配置文件。

  • 如果您的userdir中已经有,则可以跳过,可以跳过.gitconfig文件。 Windows用户: %用户配置文件%(复制粘贴在资源管理器入口栏中)

  • 需要存在一个名为".gitconfig“的文件

1.1打开cmd窗口,执行:

代码语言:javascript
复制
git config --global --edit
  • 创建了配置文件。

  1. 打开配置文件".gitconfig" 2.1,添加以下行,将kdiff3注册为git的diff和merge工具(自定义您需要的路径): 扩散工具"kdiff3“ path = "C:\Program \KDiff3/kDiff3.exe“mergetool "kdiff3” path = "C:\Program \KDiff3/kDiff3.exe“ #trustExitCode = true

注意:这将是注册任何其他你喜欢的超级合并工具的位置。

  1. 创建一个新的"Program“”外部工具配置“,名为"git merge”,以便在eclipse中执行合并!3.1为参数选择以下内容:

  • 位置: C:\Program Files\Git\bin\git.exe

  • 工作目录: ${git_work_tree}

  • 参数: mergetool

要执行合并,请使用标准的eclipse ,一旦工作区显示冲突状态(项目上可见的红色标记),则将标记您希望合并的项目,并启动我们在上面列出的步骤中创建的“外部工具配置”。

合并将启动,kdiff3窗口将弹出。从现在起,只在您对合并结果满意时才保存文件,因为如果您保存了该文件,kdiff将提供一个积极的合并反馈。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12589527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档