Обновление даты автора git commit при внесении изменений - PullRequest
263 голосов
/ 02 февраля 2012

Я часто исправлял свои коммиты. Я не stash так много, потому что я склонен забывать, что я сделал это, особенно когда я хочу сохранить то, что я сделал, перед тем как уйти или перед выходными, поэтому я делаю "черновой" коммит. Единственное, что, когда я изменяю коммит, он по-прежнему устанавливается с первоначальной датой автора. Есть ли (простой) способ обновить его при внесении изменений?

Ответы [ 5 ]

320 голосов
/ 02 февраля 2012

Вы можете изменить дату автора с помощью параметра --date на git commit.Таким образом, если вы хотите изменить последний коммит и обновить дату его автора до текущей даты и времени, вы можете сделать:дата в формате RFC 2822. Это один из форматов даты, понимаемых как git commit.)

240 голосов
/ 21 ноября 2012

Еще один способ сделать это -

git commit --amend --reset-author

Это меняет автора коммита, а также дату - но если это был изначально ваш unpressed коммит, то это неоперативный.

Вы также можете добавить --no-edit, если хотите обновить дату нескольких коммитов, но хотите, чтобы сообщения о коммитах оставались нетронутыми.Таким образом, вам не будет предложено редактировать сообщение для каждого коммита.

212 голосов
/ 20 февраля 2016

Начиная с Git v2.1.4 (протестировано на Debian 8 (Jessie))

git commit --amend --date=now
11 голосов
/ 28 января 2016

Мне нравится ответ Марка, и я сам несколько раз использовал его, но сейчас я на OS X и date -R не поддерживается. Но все гораздо проще, чем первоначальный ответ заставил нас задуматься, просто используйте пустую строку !

git commit --date= --amend
0 голосов
/ 24 ноября 2017

Я создал этот пакет npm, если кто-то все еще ищет простой способ изменить даты нескольких коммитов.

https://github.com/bitriddler/git-change-date

Использование:

npm install -g git-change-date
cd [your-directory]
git-change-date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...