"дата" - це трохи розгублене поняття в git. Комісія матиме авторську дату, яка може зайняти деякий час у минулому, перш ніж хтось насправді перетягне / здійснить зобов’язання у своє сховище, також зобов’язання може бути переоформлено та оновлено таким чином, щоб воно було зверху, мабуть, більш новим.
Комісія також має дату зобов’язань, яка оновлюється, якщо зобов’язання перезавантажується чи змінюється будь-яким чином. Ці коміти, швидше за все, мають певний хронологічний порядок, але ви все ще на волі того, хто виконує правильний час, встановлений на своєму комп’ютері, і навіть так, немодифікована фіксація може сидіти на гілці функцій у віддаленому сховищі на невизначений час раніше об'єднуючись у головну гілку центрального сховища.
Що, мабуть, найкорисніше для ваших цілей - це дата перегляду конкретного сховища. Якщо увімкнено відгалуження для кожної гілки (див. git config core.logAllRefUpdates
), Ви можете використовувати ref@{date}
синтаксис для позначення того, де в певний час була гілка.
Напр
git log -p master@{2009-07-01}..master@{now}
Ви також можете використовувати "нечіткі" описи, такі як:
git log -p "master@{1 month ago}..master@{yesterday}"
Ці команди покажуть усі комітети, які "з'явилися" в даній гілці сховища, незалежно від того, наскільки вони "старі", відповідно до їх автора та дати фіксації.
Зауважте, що рефлог на галузь характерний для сховища, тож якщо ви виконуєте команду журналу на клоні, і ви не тягнете (скажімо) місяць, тоді витягніть всі зміни за останній місяць одразу, то всі зміни за останній місяць з’являться в @{1 hour ago}..@{now}
діапазоні. Якщо вам вдасться запустити команду журналу на «центральній» репосторії, до якої підштовхуються люди, то вона може робити все, що ви хочете.