[英]Git log: get list of files changed by a user since a given date, with number of lines and commit message
我有興趣知道特定日期以來某個分支中特定作者所做的工作。 我想知道已修改了哪些文件,添加/刪除的行數以及提交消息。 以下命令接近我想要的,但是我仍然需要提交消息和日期:
git log --author"someone" --no-merges --since'2015/11/01' --pretty:tformat: --numstat
輸出是這樣的:
0 16 Project/main.cpp
16 0 Project/bar.json
1 1 Project/foo.cpp
1 1 Project/main.cpp
我想要這樣的事情:
0 16 Project/main.cpp Changed main 2015/11/02
16 0 Project/bar.json Changed bar 2015/11/02
1 1 Project/foo.cpp Changed bar 2015/11/02
1 1 Project/main.cpp Done something to main 2015/11/01
因為我的最終目標是按文件分組並按日期對更改進行排序,包括提交消息,例如:
2015/11/01 Project/main.cpp Dome something to main. 1 1
2015/11/02 Project/main.cpp Changed main. 0 16
2015/11/02 Project/bar.json Changed bar. 16 0
2015/11/01 Project/foo.cpp Changed bar. 1 1
請注意對main.cpp所做的更改如何一起顯示並按日期排序。
如何使用git實現此目的? 我在Windows下運行,沒有像gawk這樣的工具,但如果有幫助,我可以使用PowerShell。
而且我沒有像gawk這樣的工具
這是自欺欺人的。 獲取真實的git分布 。 git是用於您的工具箱的工具,雖然很重要,但仍然很重要。 沒有人理智地重復,然后必須維護非平凡的基本原理的單獨實現。
那是
git log --pretty=%ci%x09%s --numstat $your $parms $here | awk -F $'\t' '
NF == 2 { date=$1; subject=$2; next }
NF == 3 { print date,$0,subject }
' | sort -k6,6 -Vk1,2
使用powershell,您可以不斷突破這樣的限制。 也許這只是我的無知,我之前在谷歌上搜索過不錯的工具,但沒有發現,這是我的極限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.