|
|
1
10
wdiff 逐字比较。Git可以配置为使用外部程序进行比较。基于这两个事实 this blog post ,下面应该大致执行您想要的操作。
创建一个脚本以忽略
告诉
|
|
|
2
9
git diff——word diff在最新稳定版本的git中工作(在git scm.com) 有几个选项可以让您决定要使用哪种格式,默认值是可读的,但如果您要将输出输入到脚本中,则可能需要--word diff=carpec。 |
|
|
3
9
建立在 James' and cornmacrelf's input 我补充说 arithmetic expansion , 并提出了几个可重用的别名命令来计算git diff中的单词:
输出自
|
|
|
4
7
我想出了一个方法,通过在其他答案的基础上建立具体的数字。结果是一个近似值,但它应该足够接近,以作为添加或删除字符数量的有用指示器。以下是我当前分支与源/主分支的比较示例:
删除字符之间的差异(
|
|
|
5
4
Git已经(很长时间)有了
scompt.com对wdiff的建议也很好;很容易就产生不同的意见(参见 git-difftool )从那里你只需要从输出WDiff就可以得到你真正想要的结果。 不过,还有一件更令人兴奋的事要分享,来自Git的“What's Cooking:
这里是 commit introducing word-diff . 很可能很快它就会从下一个版本进入主版本,然后Git就可以在内部完成这一切——要么生成自己的word diff格式,要么生成类似于wdiff的格式。如果你有勇气,你可以从下一个开始构建Git,或者将这个提交合并到你的本地主文件中进行构建。 感谢Jakub的评论:如果需要,您可以通过提供word regex(配置参数diff.*.word regex),进一步自定义word diff,如中所述。 gitattributes . |
|
|
6
2
我喜欢
Stoutie
的
answer
想让它更具可配置性,来回答我的一些字数问题。最后得到了以下在zsh中工作并且应该在bash中工作的解决方案。每个函数接受
revision or revision difference
,默认将当前世界状态与
然后你可以这样使用它:
希望这能帮助别人! |
|
|
7
1
抱歉,我没有足够的信誉点来评论@codebeard的答案。这是我使用的版本,我将他的两个版本都添加到了我的.gitconfig文件中。他们给出了不同的答案,我把问题追溯到
我用管道把这个固定了
以下是我的完整.gitconfig设置以及修复程序:
如果你愿意的话
现在,你可以做到
要与原始/主控形状进行比较,请执行以下操作:
我最喜欢这个答案,因为它既能计算单词数,又能区分单词数,而且如果你能用管道输入的话。
wdiff在结尾的统计输出如下:
要了解添加了多少个单词,请添加
为什么不从第一行开始呢?答:这些是删去的词。 下面是一个bash脚本,用于获取单个统一的字数:
|
|
|
8
0
因为Git 1.6.3还有
现在你可以跑了
如果您希望同时获取所有修改文件的统计信息,请执行以下操作:
这需要一个典型的统一体的输出
|
|
|
9
0
对于需要排除移动文本的某些用例,上述答案是失败的(例如,如果我将代码中的函数或乳胶中的段落进一步移动到文档中,我不想将所有这些都计算为更改!) 为此,还可以计算重复行的数目,如果重复的行太多,则从查询中排除这些行。 例如,基于其他答案,我可以做到:
计算diff中的重复单词数,其中
您可以在最后一天(从早上6点起)内通过以下方式完成所有提交:
打印:添加、删除、复制
(我将行diff作为重复项,因为它不包括
或者,如果您想对其进行深入研究,如果重复率超过80%,则可以完全排除提交,并总结其余内容:
我有这个脚本可以在这里完成: https://github.com/MilesCranmer/git-stats . 打印出:
我只是四处走动的承诺是显而易见的,所以我不计算这些变化。它计算了所有其他内容,并告诉我更改单词的总数。 |