1
讓我說我想要統計已經提交了多少個if
語句,然後按照作者進行分組,我該怎麼做?什麼我想要做搜索git的歷史記錄和作者羣
例子:
git count-by-author "if ("
245 Author A
199 Author B
20 Author C
我感興趣的主要是引進的if
的號碼,而不是修改if
聲明,如果這是可能的。
讓我說我想要統計已經提交了多少個if
語句,然後按照作者進行分組,我該怎麼做?什麼我想要做搜索git的歷史記錄和作者羣
例子:
git count-by-author "if ("
245 Author A
199 Author B
20 Author C
我感興趣的主要是引進的if
的號碼,而不是修改if
聲明,如果這是可能的。
沒有純粹git的解決方案,但你可以用下面的bash腳本來獲得這樣的統計:
for sha in $(git log --format=%H); do
author="$(git show --format=%an $sha | head -n1)"
removed_if_statements=$(git show $sha | grep -E '^\-(.*)?if \(' | wc -l)
added_if_statements=$(git show $sha | grep -E '^\+(.*)?if \(' | wc -l)
delta=$(($added_if_statements - $removed_if_statements))
if [ $delta -gt 0 ]; then
for x in $(seq 1 $delta); do
echo $author
done
fi
done | sort | uniq -c | sort -rg
不錯!只需要添加-g到最後的'sort'就可以正確排序(例如,在1100之前排序了8) – oskbor
您是對的,謝謝 – qzb
此外,這行似乎需要zsh'for x in {1 .. $三角洲};做' – oskbor