Обновить git дату фиксации автора при изменении

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

Ответ 1

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

git commit --amend --date="$(date -R)"

(Параметр -R в date сообщает ему, чтобы он выводил дату в формате RFC 2822. Это один из форматов даты понятный git commit.)

Ответ 2

Другой способ сделать это -

git commit --amend --reset-author

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

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

Ответ 3

git commit --amend --date=now

(Git версия 2.7.0)

Ответ 4

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

git commit --date= --amend

Ответ 5

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

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

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

npm install -g git-change-date
cd [your-directory]
git-change-date