如何给从git生成的补丁文件着色

4
我有一个由其他人生成的file.patch文件。我想查看这个patch文件,但我希望能够应用自己的git颜色配置到该文件上。
我可能当前不在git项目目录中,甚至可能不知道patch文件来自哪个仓库,但我只想用我的正常git颜色查看基本的上下文/添加/删除。
我正在寻找管道解决方案而不是一些外部库。类似于: git --please-color-this file.patch | less

你最好的选择就是将补丁转换为提交(commits是很廉价的)。但当然,这需要你拥有仓库... - torek
3个回答

4
colordiff < file.patch | less -R

'less'命令是可选的,但我觉得它很有用,例如用于滚动、搜索。


你也可以使用 diff --color 命令,自从 diff 3.5 版本以后,根据 这个 回答的建议。 - undefined

0

less不是你要找的程序,颜色并没有存储在文件中,less也不理解diff格式。相反,使用一个能够理解diff格式的工具,比如文本编辑器如vscodevim。最好的程序就是你当前用于合并冲突的程序。


1
less 是当前和默认的程序,用于显示 git diff 所看到的差异。 - user2040158

0
你可以使用Vim来完成这个任务。只需用vim file.patch打开文件即可。
如果你担心修改文件,可以使用-M只读标志:vim -M file.patch 如果你想从管道中读取文件并查看它,可以通过将文件名设为-来告诉Vim从标准输入中读取。 diff -u file_a.py file_b.py | vim -M -

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