我在Windows中有一个kdiff3比较,我想将比较保存为统一diff格式的文本文件.
我意识到这是一个奇怪的问题.通常,人们已经掌握了文本差异,并希望在kdiff3中以图形方式查看.
我在Windows中使用了...... 不寻常的 ......版本控制工具,它可以比较版本并在kdiff3中显示比较.但是,在生成的Unix友好的输出,至少对非ClearCase的,忍者像我决然不友好.
我真正真正喜欢的是以统一的diff格式获得比较的输出,所以我可以使用类似patch或类似的工具.我并不特别喜欢ClearCase,我很乐意尽可能地让它独自一人.
kdiff3可以采用现有的比较并将其导出为统一的差异格式吗?
如何选择kdiff3中的完整选择为C(来自远程kdiff3的文件),而不是逐行更改所有内容(合并冲突)?我只想选择远程文件.什么是选择A(基本文件),在新的更改之前本地检出远程文件?
通常当我做差异时,我想在提交之前编辑我的本地文件.这在Eclipse的比较视图中非常有效,因为它允许您轻松编辑本地文件以及复制先前版本的更改.
我试图设置Git和KDiff3以同样的方式工作.当我使用KDiff3作为我的mergetool时,它按预期工作.但是,当我将其设置为difftool时,它为我提供了一个只读视图,因此我无法进行任何编辑.根据文档(http://kdiff3.sourceforge.net/doc/documentation.html),我希望--output选项能够给我两个我想要的文件合并,但事实并非如此.我的.gitconfig的相关部分:
[diff]
tool = kdiff3
[difftool "kdiff3"]
cmd = /Applications/kdiff3.app/Contents/MacOS/kdiff3 $LOCAL $REMOTE --output $LOCAL
trustExitCode = false
Run Code Online (Sandbox Code Playgroud) 是否可以使用Git选择性地将更改从一个分支应用到另一个分支?
更具体地说,我使用devGitHub 的公共分支和master部署的私有分支.当对一个分支进行更改时,它们将需要应用于另一个分支,但是某些代码行需要保持不同.在我的例子中,它是一些css类和一个feed.
我是Git的新手,但我做了我的研究:
git merge --no-commit --no-ff可以使用后跟a git mergetool来选择我想要的冲突.问题是它只适用于冲突Git无法自动合并,所以我想要保持不同的东西在我有机会使用我的mergetool之前被替换.
git difftool --cached 是有用的,因为它可以让我看到差异,但我需要复制我想要保留的内容并手动用文本编辑器替换它,因为我不能简单地选择和保存,就像我可以使用mergetool.
git cherry-pick似乎将指定的提交应用于另一个,但我希望保持不同的可能会分散到不同的提交,这些提交可能不仅包括我想要保持不同的内容.我不能看到这个工作,除非我做了数百万的提交会让我发疯.
另外要明确的是,我不希望一个分支成为另一个分支,合并的情况似乎如此.我想要两个独立的分支,各自的差异,并将变化从一个分支应用到另一个分支.
是否有更好的工作流程可以让我通过应用他们的更改并保持一些差异来保留开发和部署版本?我不介意使用单独的存储库或不同的工具,如果它导致解决方案.
是否可以设置Git以便我可以在KDiff3中使用三向比较?
我有两个分支,它们太不同了,无法自动合并它们,我只需检查每个合并点,我认为最好的方法是检查分支我希望从其他分支的更改并说
git difftool HEAD_OF_OTHER_BRANCH -- .
Run Code Online (Sandbox Code Playgroud)
然后在KDiff3中选择合并文件.在完成了我刚刚提交的文件之后.
我已将merge.conflictstyle和diff.conflictstyle设置为diff3,但KDiff3仍然以双向diff开头.这可能吗?我想如果Git也将共同祖先的哈希作为参数发送,这是可能的,但是它呢?
有讨论有关如何使用SVN和BC3做到这一点,但我无法找到Git和KDiff3什么.
我对Mercurial和Python感到沮丧,因为它让事情变得简单.我有一个微不足道的冲突,因为Mercurial没有提出任何建议,我甚至不知道如何解决这个琐碎的文件冲突:

冲突是微不足道的,但如果我无法解决这个问题,我也无法解决任何复杂问题.我可以将文件编辑为我想要的方式并从任何地方再次提交吗?我该跑hg merge吗?为什么Mercurial甚至不能让我选择一个版本来保留?如果不挖掘1000篇写得不好的联机文章,为什么几乎不可能做到这一点?
有没有人知道在Kdiff3中隐藏匹配行的方法(在Windows中).我真的只关心这些差异,而宁愿快速浏览差异列表,而不是所有的填充(即匹配线).
我对其他软件选项持开放态度,但我发现很难相信Kdiff3没有这个功能.
我在分支机构中进行了一些更改new.
我结账了master.
当我尝试合并时:
$ git merge new
Auto-merging js/site.js
CONFLICT (content): Merge conflict in js/site.js
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)
所以我安装了kdiff3并配置了我的配置文件,当我尝试使用mergetools时,我得到了:
$ git mergetool kdiff3
No files need merging
Run Code Online (Sandbox Code Playgroud)
我跑了一个差异,它输出了这个:
diff --cc js/site.js
index 8c17d62,7955b13..0000000
--- a/js/site.js
+++ b/js/site.js
@@@ -72,4 -81,18 +81,22 @@@ function doSmallScreen()
$(document).ready(function () {
calculateScreen();
- });
++<<<<<<< HEAD
++});
++=======
+ $(window).resize(function () {
+ delay(function () {
+ calculateScreen();
+ }, 500);
+ }); …Run Code Online (Sandbox Code Playgroud) 有谁知道如何将ExamDiff与Mercurial整合?我有KDiff3设置,但无法弄清楚如何设置ExamDiff.
更新:每个接受的答案,这个.hgrc配置工作:
[extensions]
hgext.extdiff =
[extdiff]
cmd.examdiff = C:\Program Files\ExamDiff Pro\ExamDiff.exe
Run Code Online (Sandbox Code Playgroud)
可以用命令运行ExamDiff hg examdiff