簡體   English   中英

Git日志:獲取自給定日期以來用戶更改的文件列表,包括行數和提交消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM