2012-07-30 37 views
3

我試圖從git log獲取以下內容: 1-回購中每個文件的提交數(兩個日期之間) 2-編輯每個文件的貢獻者數兩個日期) 3-編輯每個文件(兩個日期之間)的不同貢獻者數量每個文件的git日誌提交數

我試過玩git log,但我沒有那麼成功。我也嘗試搜索腳本,但沒有運氣。任何幫助?

回答

4

(使用普通的Unix工具時)

在回購給定文件編號的提交:

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

貢獻者爲給定的文件數:

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

貢獻者數對於兩個日期之間的給定文件:

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 
+0

我已經試過前兩個命令與幾個文件,雙方回到同一號碼不同的文件!奇怪的!至於文件名,我試過使用src /.../文件名並使用文件夾/.../文件名,因爲我已經在src/ – user1564015 2012-07-30 21:15:01

+0

下工作了!謝謝! – user1564015 2012-07-31 01:50:02