2015-06-08 1 views
13

Получить коммит после определенной даты. Я могу это сделать:получить коммит с определенной даты в git на основании даты фиксации

git log <ref> --since=<date> --pretty=format:%ci 

Это, по-видимому, указывает на фиксацию на основе даты автора. Как получить коммит после определенной даты на основе времени фиксации? Я могу разобрать вывод выше cmd, чтобы получить то, что я хочу, однако мне было интересно, есть ли лучший способ сделать это.

+1

Возможный дубликат [Как настроить «git log» для отображения «даты фиксации»] (http://stackoverflow.com/questions/14243380/how-to-configure-git-log-to-show-commit- date) –

+1

Да, я могу разобрать вывод cmd в вопросе, и фильтр фиксируется в зависимости от даты фиксации. Есть ли лучший способ сделать это? –

+0

Просматривая код, мой первоначальный запрос «вы не можете», но это выглядит как отличная возможность отправить патч для git :) – larsks

ответ

5

Ваш запрос не то, что ясно для меня, но я хотел бы ответить лучше моего понимания: , как мы знаем, с исх: http://git-scm.com/docs/pretty-formats

%ai: author date, ISO 8601-like format 
%ci: committer date, ISO 8601-like format 

Является ли это какой-либо помощи? Использование --after и --before для получения результатов между ними. Как ниже использует ту же дату с результатами между временем (10:36 утра до 04:50 вечера 22 июня 2015) с % ДИ на сегодняшний день коммиттеров

git log --after="2015-06-22T10:36:00-07:00" --before="2015-06-22T16:50:00-07:00" --pretty=format:%ci 
2

Я считаю, что нет никакого способа здесь, чтобы настроить git log здесь, так как она внутренне реализована использовать фиксации даты для before, after, since, until параметров. В общем, стратегия Git по умолчанию для сравнения дат составляет дата фиксации.

0

Если вы используете% кр вместо% ДИ, по крайней мере, у вас есть только ссылки на время. Но они относительны, как «2 часа назад».

Смежные вопросы