我很想知道自特定日期以来特定作者在分支机构中所做的工作。我想知道修改了哪些文件,添加/删除了行数以及提交消息。以下命令接近我想要的但仍需要提交消息和日期:
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。
答案 0 :(得分:0)
我没有像gawk这样的工具
这是弄巧成拙的。 Get the real git distribution。 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,你会不断遇到这样的限制。也许这只是我的无知,我之前用google搜索了不错的工具而没有发现,这是我的限制。