Как да получа разлика за определен потребител между две дати от git?

Как да получа diff за определен потребител между две дати от git? Или как да използвам командата git whatchanged за изброяване на ангажименти за определен потребител?

Има ли някакъв начин без скриптове (вградена команда git)?


person Mixter    schedule 28.10.2011    source източник


Отговори (2)


Вярвам, че няма такъв начин да получите разлика само като знаете дати.

От днес можете да направите следното:

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

И след това git diff между първата и последната ревизия. Ако списъкът с ревизии е твърде дълъг, използвайте горния git log ... с | head -1 и | tail -1, за да получите първата и последната ревизия.

Обърнете внимание, че горният git log ще върне ревизии точно между дадените дати, т.е. ревизии за OCT 5, OCT 6, ..., OCT 10.

person gmile    schedule 28.10.2011
comment
Можете да вид го направите директно с diff, но не толкова надеждно, като използвате нотацията @{date}, например git diff @{date1} @{date2}. Проблемът с това е, че конструкцията @{date} не разглежда хронологията на ангажиментите, за да преведе датата в идентификатор на комит, а вместо това използва revlog. Резултатът е, че ако дърпате наистина често, вашият ревлог ще има достатъчно фина информация, че горното може да направи това, което искате, но ако не, резултатите ще са неточни... - person snogglethorpe; 28.10.2011
comment
Трябваше да добавя знак за равенство, за да работи: git log --since="FEB 1 2014" --until="FEB 30 2014" - person bonyiii; 16.05.2014

Това е възможно и с критериите за потребител/изпълнител:

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

Това ще съответства на всичко

  • между тези дати
  • от автори, съответстващи на имената John или Mary
  • където съобщението за ангажиране включва (напр. номер на билет на Jira под формата на) MBT или MBF плюс числов код, който може да включва - символ.
person New Alexandria    schedule 21.10.2015
comment
Това показва дневника, но не и разл. - person pingu; 07.06.2016