Если вы не можете просто переставить коммиты, чтобы выбрать тот, на который вы хотите установить дату (например, потому что последний коммит не будет применяться поверх родительского элемента первого коммита), вы можете попробовать следующий метод.
Если вы собрали вместе ваш Develop в один коммит на Develop , то вы можете использовать git show
и рефлог Develop , чтобы извлечьдата первоначального финального коммита (до сдавливания), а затем измените дату вашего нового коммита с помощью git commit --date=
.
git commit --amend -C HEAD --date="$(git show --pretty=format:%ad develop@{1})"
Это исправляет (--amend
) коммит HEAD так, что
- он имеет сообщение о фиксации и дату из HEAD,
(-C HEAD
; при этом избегается запуск редактора для сообщения о фиксации, чтобы просто немедленно выйти из него без внесения каких-либо изменений; оставьте эту часть отключенной, если вы на самом делехотите отредактировать сообщение о фиксации, а также изменить дату) - его дата
(--date=
) - совпадает с самой последней предыдущей подсказкой development
("$(git show --pretty=format:%ad develop@{1})"
).
Если у develop@{1}
нет нужной даты, вы можете использовать git log -g develop
, чтобы найти фиксацию с нужной датой.