Git format-patch 查看器?

17

有人通过 "git format-patch" 向我发送了一些补丁文件。

是否有一个(Linux)GUI可以打开这些 .patch 文件?

我尝试使用许多 diff GUI,但它们只是比较两个现有的文件/文件夹。除了 kompare 以外,没有一个可以显示补丁,而 kompare 每次都会显示 “The diff is malformed. Some lines could not be parsed and will not be displayed in the diff view.”。

6个回答

54

3
为什么这个回答被踩了?我发现它是一个有用的工具! - Bert Regelink
1
不错的工具!可以下载为单个 .html 文件,根据 NoScript 的说法,它不会尝试加载任何外部脚本。谢谢! - akavel
我看到你创建了2个账户。如果您想要合并它们,请查看http://stackoverflow.com/help/merging-accounts(https://stackoverflow.com/users/4238572/ding-zhaojie,https://stackoverflow.com/users/4238814/ding-zhaojie)。 - Matt
3
这应该是此问题的最佳答案。 #1 它有效。 #2 安装简单(只需下载一个文件)。 #3 依赖项最少(我没有发现任何外部依赖)。 #4 运行速度快。 #5 外观也很好! - ChuckB
出色的工具。只需下载上面的html文件,在浏览器中打开它,这样您就可以打开补丁文件,并显示差异文件的前后对比,就像图片所示。非常棒,应该内置到git中。 - boardtc
只是为了好玩,我快速地黑进了一个小提琴。我不确定用来运行它的app.box.com网址是否仍然有效,但现在看起来它只是在倾倒脚本。 - ruffin

11

需要使用colordiff,你可能需要安装它(我的Mac上没有安装)。 - ChuckB

5

这些命令很容易阅读,但如果想要查看文件的完整上下文,则最好使用 git-am 命令来应用它们:

git am foo.patch
git difftool ORIG_HEAD

如果你喜欢它,那么它已经被提交了。如果不喜欢:
git reset --hard ORIG_HEAD

1
我猜这就是为什么没有人做我要求的事情的原因。由于Git非常强大,直接在Git中完成所有操作是可能的。 - big_gie
1
我想我会这样做:1)创建一个分支,2)应用所有补丁,3)使用任何GUI进行审查,4)合并分支或挑选一些提交。 - big_gie
我想补充一点,如果要查看提交之间的差异,“git-meld”来自https://github.com/wmanley/git-meld非常棒。因此:1)创建分支2)应用补丁3)使用git meld commit1..commit2。 - big_gie
个人认为,我会按照上述方法进行操作,但使用git diff all https://dev59.com/YHM_5IYBdhLWcg3wzmkw。 - chrispepper1989

3
Git生成的.diff.patch文件只是普通的文本差异文件。
大多数Linux上的文本编辑器都可以打开并对差异文件进行语法高亮。Emacs和vim应该能够无问题地查看它们,gedit、kate或几乎任何其他支持语法高亮的文本编辑器也可以。
如果您不需要语法高亮,则lesscat或任何其他显示纯文本的工具也可以向您显示更改。

-1

Git Cola 包含一个“应用补丁”对话框,可以从操作菜单或通过 git cola am 子命令启动。您可以在此对话框中打开补丁并使用差异语法突出显示其内容。

此功能可通过克隆存储库在 master 中使用,并将包含在即将发布的 v3.3 版本中。


-3

它们应该是可读的文本。在文本编辑器中打开它们。

编辑:或者在分支上应用补丁,然后您可以使用通常用于比较分支的任何工具。

编辑2:哦,你已经想到了,不用在意。


3
当然,但是拥有一个图形用户界面总是很好的。例如,一个智能的界面可以向你展示哪个字符在一行超长的文本中发生了变化。Meld将会将两行文本并排显示,并突出显示更改的字符。在文本编辑器中查看补丁不容易揭示这种小的变化。 - big_gie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接