3

私は次のものを取得しようとしていますgit log: 1- リポジトリ内のすべてのファイルのコミット数 (2 つの日付の間) 2- すべてのファイルを編集した貢献者の数 (2 つの日付の間) 3- すべてのファイルを編集した個別の貢献者の数(2 つの日付の間)

で遊んでみましgit logたが、あまり成功しませんでした。スクリプトも検索してみましたが、うまくいきませんでした。何か助けはありますか?

4

1 に答える 1

4

(通常のUnixツールを使用する場合)

リポジトリ内の特定のファイルのコミット数:

git log --oneline ${filename} | wc -l

指定されたファイルの寄稿者の数:

git log --pretty=format:%ae ${filename} | sort -u | wc -l

2つの日付の間の特定のファイルの寄稿者の数:

git log --since=${date1} --until=${date2} --pretty=format:%ae ${filename} \
    | sort -u | wc -l

ここで、現在のリポジトリ内のすべてのファイルに対してこれを繰り返すには、次の行に沿って何かを実行します。

find | grep -v '^\./\.git' | while read filename
do
    echo "${filename} has $(git log --oneline ${filename} | wc -l) commits"
done
于 2012-07-30T20:28:59.147 に答える