Содержание
- Изменение даты создания последнего коммита на текущую
- Изменение даты создания последнего коммита на произвольную
- Изменение даты изменения последнего коммита на текущую
- Изменение даты изменения последнего коммита на произвольную
- Изменение даты произвольного коммита
У каждого коммита в Git есть дата создания коммита (AuthorDate) и дата изменения коммита (CommitDate). Чтобы их просмотреть выполните команду:
$ git log --pretty=fuller
commit 4e90aaf65850ab31cff75f53f5cc040bf036386d (HEAD -> master, origin/master)
Author: delphinpro <delphinpro@yandex.ru>
AuthorDate: Wed Dec 20 15:16:40 2023 +0400
Commit: delphinpro <delphinpro@yandex.ru>
CommitDate: Wed Dec 20 15:16:40 2023 +0400
Обновлен главный экран админки
AuthorDate
— дата, когда коммит был создан (когда был выполнен первый git commit
).
CommitDate
— дата изменения коммита, которая обновляется каждый раз, когда коммит изменяется (например, при выполнении git commit --amend
). Во время создания коммита эта дата равна AuthorDate
.
При выполнении команды git log
без параметров в поле Date
отображается именно дата создания коммита (AuthorDate).
Изменение даты создания последнего коммита на текущую
Для изменения даты создания последнего коммита (AuthorDate
) на текущую используйте следующую команду:
git commit --amend --no-edit --date=now
Есть еще один способ, но меняет он не только дату (AuthorDate
), но и автора коммита. Используйте ключ --reset-author
, который изменяет дату создания коммита на текущую, и обновляет автора коммита.
git commit --amend --no-edit --reset-author
Изменение даты создания последнего коммита на произвольную
Для изменения даты создания последнего коммита (AuthorDate
) на произвольную дату, необходимо в --date
указать требуемую дату в правильном формате. Например:
git commit --amend --no-edit --date="2018.09.25 12:00"
Или, например, в более сложном формате:
git commit --amend --no-edit --date="Tue Sep 25 20:34:28 2018 +0300"
Дату можно задавать в различных форматах. Поддерживаемые форматы приведены в официальном руководстве по Git в параграфе Date Formats.
Приведенные выше команды, меняют дату создания коммита AuthorDate
и дату изменения коммита CommitDate
. CommitDate
устанавливается равным текущей дате, так как выполняется изменение коммита (git commit --amend
).
Изменение даты изменения последнего коммита на текущую
Чтобы изменить дату изменения коммита (CommitDate
) на текущую воспользуйтесь командой:
LANG= GIT_COMMITTER_DATE="$(date)" git commit --amend --no-edit
GIT_COMMITTER_DATE
— это переменная окружения, которая устанавливается в значение, которое будет присвоено CommitDate
. В данном случае значение устанавливается равным выводу команды date
, которая выводит текущее время и дату.
LANG=
используется для того, чтобы команда date
вывела время без учета локали вашей системы, иначе Git не распознает формат, если например дата будет содержать русские символы.
Изменение даты изменения последнего коммита на произвольную
Чтобы изменить дату изменения коммита (CommitDate
) на произвольную, укажите в переменной GIT_COMMITTER_DATE
желаемую дату в правильном формате:
GIT_COMMITTER_DATE="Tue Sep 25 20:34:28 2018 +0300" git commit --amend --no-edit
Изменение даты произвольного коммита
Чтобы изменить дату произвольного коммита воспользуйтесь командой git rebase
. Сначала определите хеш коммита, посмотрев лог:
git log --oneline
Выполните git rebase
, подставляя вместо commit_hash
хеш коммита, дату которого хотите изменить:
git rebase commit_hash^ -i
В открывшемся редакторе поменяйте pick
у первого коммита на e
(или на edit
). Сохраните изменения и закройте редактор.
Далее измените дату у данного коммита. Если нужно изменить дату создания коммита (AuthorDate
):
git commit --amend --no-edit --date="Tue Sep 25 20:00:21 2018 +0300"
Если нужно изменить CommitDate
:
GIT_COMMITTER_DATE="Tue Sep 25 20:34:28 2018 +0300" git commit --amend --no-edit
И завершите rebase:
rebase --continue
Обратите внимание, что после этой команды у коммитов, которые выше изменяемого коммита, изменится дата CommitDate
на текущую.
Вы можете оставить комментарий: