首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >git中的CVS样式差异

git中的CVS样式差异
EN

Stack Overflow用户
提问于 2012-02-14 00:16:41
回答 3查看 1.6K关注 0票数 2

有没有办法让git的输出格式不同于cvs风格?我发现git的不同之处可读性较差。此外,more中出现的git差异也很烦人--我该如何禁用它呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-15 07:41:50

尝试使用标准比较格式:

代码语言:javascript
运行
复制
git difftool -y -x "diff --unchanged-group-format='' --old-line-format='< %L' --new-line-format='> %L'"

这给出了类似CVS的新行和老行,没有上下文,但它不会在不同行的组之间插入额外的内容。我不太确定如何实现剩下的部分,因为我不知道您会在多大程度上喜欢类似CVS的格式。

代码语言:javascript
运行
复制
man diff

了解更多信息

另请参阅

代码语言:javascript
运行
复制
git difftool -y -x "diff -n"

但我怀疑这不是你想要的。如果这对你有效,为了让它每次都能用git diff工作,请参阅Configuring diff tool with .gitconfig?,它在接受的答案中引用了http://jeetworks.com/node/90

票数 1
EN

Stack Overflow用户

发布于 2012-02-14 04:20:56

默认情况下,git diff使用“通用”格式diff -ucvs diff使用较旧的标准diff格式(删除了标记为<的行,添加了标记为>的行,每个差异周围没有上下文)。

例如,您可以使用git diff -cgit diff -C5来获取“上下文差异”,以获得5行上下文,而不是默认的3行。

diff --normal (至少如果您正在使用GNU diffutils)将生成一个老式的diff,但是git diff似乎不能识别--normal选项。

就我个人而言,我发现上下文差异比老式差异更具可读性,所以我从来没有发现在git diff中使用老式差异的必要性。尝试git diff -c (连同haggai_e的建议禁用寻呼机)。

如果你真的想要老式的区别(<>,没有上下文),可能有一种方法可以做到。

编辑:

如果git diff不能完成您想要的操作,您可以提取文件修订版的副本,并对其使用您喜欢的任何比较工具。我自己的get-versions工具可以从git (或者RCS或CVS)中提取一个文件的多个版本。

这是另一个解决方案,虽然有点复杂。作为示例,我已经为git本身克隆了git代码库。如果我想要比较顶级README文件的两个连续版本,我可以这样做:

代码语言:javascript
运行
复制
$ diff --normal <(git show 779d7e93773a0dcf918dc77023511fdc68161bd8:README) \
                <(git show 71ce415dc088f19a0b8d6c8567dfdd6d851842b2:README)
24,26c24,25
< compatible with the GPLv2).
< It was originally written by Linus Torvalds with help of a group of
< hackers around the net. It is currently maintained by Junio C Hamano.
---
> compatible with the GPLv2). It was originally written by Linus
> Torvalds with help of a group of hackers around the net.
$ 

将其封装在一个小脚本中将非常容易。

请注意,: (上面示例中的README)后面的文件路径是相对于存储库的根目录的,而不是相对于当前目录的。您可以在名称前面加上./ to make,以使其相对于当前目录。(后者可能不适用于某些旧版本的git。)

票数 6
EN

Stack Overflow用户

发布于 2012-02-14 00:23:31

您可以通过将core.pager设置为空字符串来禁用寻呼机:

代码语言:javascript
运行
复制
git config --global core.pager ''
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9263913

复制
相关文章

相似问题

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