0

我已经知道如何获得 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

有没有办法在没有得到空行或注释的情况下完成上述操作?I:E 使用 Cloc 而不是 Gits 自己的比较算法?如果是这样,我该怎么做?

提前致谢。

4

1 回答 1

1

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

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

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

然后,您将有两个非常漂亮的表格,向您显示很多信息,如在这里看到的

于 2016-07-27T15:20:17.237 回答