有没有办法用git计算c ++ / java项目的代码逻辑行?另外我还需要为作者计算它们。有什么提示吗?
答案 0 :(得分:2)
如果您正在查看当前的提交,请忽略括号中的陈述。
以下命令计算项目中的所有行。
[commit=<some-commit>]
for file in $(git ls-files [--with-tree=$commit])
do
git cat-file -p [$commit]:$file
done |
wc -l
以下命令将按作者计算所有行。
[commit=<some-commit>]
for file in $(git ls-files [--with-tree=$commit])
do
git blame [$commit] --line-porcelain -- $file
done |
sed -n 's/^author //p' |
sort |
uniq -c |
sort -r
感谢the Git documentation for git blame计算每个文件的作者行。如果您修改正在查看的字段,也可以抓取其他有用信息。
答案 1 :(得分:0)
有没有办法用git计算c ++ / java项目的代码逻辑行?
简短回答?没有.Git对代码没有特别的了解。有一些工具可以,你只需在结账时运行它们。
我也需要为作者计算它们。
您可以使用git blame
告诉您谁写了哪一行,但这些不是逻辑行。分成多行的单个语句将被计数多次。