Как получить diff для указанного пользователя между двумя датами из git? - PullRequest
27 голосов
/ 28 октября 2011

Или, как использовать команду git whatchanged для вывода списка коммитов для указанного пользователя?Есть ли какой-нибудь сценарий без сценария?(встроенная команда git)

Ответы [ 3 ]

36 голосов
/ 28 октября 2011

Я полагаю, что не существует такого способа получить различие, только зная даты.

На сегодняшний день вы можете сделать следующее:

git log --since "OCT 4 2011" --until "OCT 11 2011" --pretty=format:"%H"

А затем git diff между первой и последней ревизиями. Если список ревизий слишком длинный, используйте вышеуказанные git log ... с | head -1 и | tail -1, чтобы получить первую и последнюю ревизии.

Обратите внимание, что вышеприведенный журнал git вернет ревизии точно между указанными датами, то есть ревизии для 5 октября, 6 октября, ..., 10 октября.

4 голосов
/ 22 октября 2015

Это возможно, и с критериями пользователя / коммиттера:

git log --after="2015-10-14" --before="2015-10-21" --grep="MB[FT][0-9-]*" --author="John\|Mary"

Это будет соответствовать чему угодно

  • между этими датами
  • авторами, соответствующимиимена John или Mary
  • , где сообщение о фиксации включает (например, номер билета Jira в форме) MBT или MBF плюс числовой код, который можетвключает - символ.
0 голосов
/ 05 июня 2017
git log --since "MAY 1 2017" --until "MAY 31 2017" -p --author="Jack" > diffJackMay.patch
...