2015-11-08 5 views
0

Мне интересно узнать работу, выполненную определенным автором в ветке с определенной даты. Я хотел бы знать, какие файлы были изменены, количество добавленных/удаленных строк и сообщение фиксации. Следующая команда близка к тому, что я хочу, но мне еще нужно коммита и дата:Git log: получить список файлов, измененных пользователем с определенной даты, с количеством строк и сообщением фиксации

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? Я работаю под окнами, и у меня нет таких инструментов, как gawk, но я могу использовать PowerShell, если это поможет.

ответ

0

и у меня нет таких инструментов, как простак

Это пагубный. 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 для приличных инструментов и не нашел ни одного, это мой предел.