在2个不同的提交中使用cloc。只能看到实际的代码行,没有注释或空白行

时间:2015-07-24 14:30:57

标签: git cloc

我已经知道如何区分2次提交,也可以逐个文件获取它们。我也知道(感谢这个帖子Count number of lines in a git repository)你可以使用Cloc来获取实际的代码行而不是所有行。

但是我怎样才能在git中获得代码行的差异,I:E在2个不同的提交中使用cloc?

这给了我一个代码打印输出,其中包含之前添加的内容(+)和删除的内容( - )。但是在这里我不能直接使用cloc,我会做一些解析

git diff `git rev-list --since="jun 30 2014" --reverse origin/master | head -1`..`git rev-list --until="dec 31 2014" origin/master | head -1`

这里我修改了所有文件并添加/更改了第一列的行。问题是这包括空行和注释。

git diff `git rev-list --since="jun 30 2014" --reverse origin/master | head -1`..`git rev-list --until="dec 31 2014" origin/master | head -1` --numstat

有没有办法在不填写空白行或注释的情况下执行上述操作?我:E使用Cloc而不是Gits自己的比较算法?如果是这样我怎么能这样做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,最简单的方法就是按照以下步骤实现:

git checkout <commit-1>
cloc ./ > ../commit-1-cloc.txt

git checkokut <commit-2>
cloc ./ > ../commit-2-cloc.txt

然后,您将有两个非常好的表格,向您显示很多信息,例如here