Изменить дату коммит git
git-edit-date это бесплатный Linux CLI, который меняет даты коммитов, имя автора,
и электронное письмо в вашем текущем филиале. Экспортируйте историю в CSV, редактируйте временные метки в Excel или
LibreOffice, применить один раз — нет git commit --amend, нет интерактивной перебазировки.
Изменять дата автора, дата коммиттера, имя автора и
электронная почта оптом. Работает для одного коммита или десятков коммитов в текущей ветке —
включая историю, которую вы уже отправили (с --force-with-lease).
Почему CSV?
- Массовые изменения — изменить даты нескольких коммитов в электронной таблице
- Визуальный обзор — сортировка по дате, выявление смещения часового пояса, сравнение временных меток автора и коммиттера
- Одна команда для применения — отредактируйте CSV, запустите
apply, сделанный
Впервые здесь? Начните с пошаговое руководство или прочитайте Часто задаваемые вопросы.
Пример
Допустим, ваш журнал выглядит так: неправильный адрес электронной почты, временные метки в UTC в 3 часа ночи:
a1b2c3d Alice <alice@wrong.com> 2024-03-06 03:14 +0000 Fix login
e4f5a6b Alice <alice@wrong.com> 2024-03-06 03:15 +0000 Add tests
9f8e7d6 Alice <alice@work.com> 2024-03-05 14:30 +0100 Fix login
c5b4a39 Alice <alice@work.com> 2024-03-05 15:00 +0100 Add tests
Что изменилось: адрес электронной почты автора и даты. Сообщения остаются прежними; коммит хеши новые (история переписана).
Как
1. Экспортируйте текущую ветку:
git-edit-date export -o commits.csv
2. Откройте CSV и исправьте нужные поля:
author_email,author_date,committer_date
alice@wrong.com,2024-03-06T03:14:00Z,2024-03-06T03:14:00Z
alice@wrong.com,2024-03-06T03:15:00Z,2024-03-06T03:15:00Z
author_email,author_date,committer_date
alice@work.com,2024-03-05T14:30:00+01:00,2024-03-05T14:30:00+01:00
alice@work.com,2024-03-05T15:00:00+01:00,2024-03-05T15:00:00+01:00
3. Примените и нажмите:
git-edit-date apply -file=commits.csv
git push --force-with-lease
Полное прохождение: как изменить даты коммита git.
Изменить дату автора
git хранит две временные метки: дата автора (когда работа была написана) и
дата коммиттера (когда был создан коммит-объект). В CSV отредактируйте
author_date (и опционально author_name /
author_email) независимо от committer_date.
Глубокое погружение: как изменить дату автора git · дата автора vs дата коммита.
Установить
curl -LO https://giteditdate.com/git-edit-date_amd64.deb
sudo dpkg -i git-edit-date_amd64.deb
Heads вверх
- Перезаписывает коммит SHAs только в текущей ветке.
- Делает недействительными подписи GPG на переписанных коммитах.
- Потребности
git push --force-with-leaseесли ветка уже была отправлена