Часто задаваемые вопросы

Распространенные вопросы об изменении дат коммита git, метаданных автора, и переписать историю ветвей с помощью git-edit-date.

Как изменить даты коммитов git?

Установить git-edit-date, экспортируйте ветку в CSV, отредактируйте author_date и committer_date в электронной таблице, тогда беги apply. Для последнего коммита тоже работает — отредактируйте одну строку в CSV. Следуйте учебник или руководство по изменить дату последнего коммита git.

Как мне массово редактировать даты коммитов git в ветке?

Экспортируйте историю своих филиалов в CSV с помощью git-edit-date export, редактировать author_date и committer_date в электронной таблице, тогда беги git-edit-date apply. См. учебник.

В чем разница между датой автора и датой коммиттера?

Дата автора это когда работа была первоначально выполнена. дата коммиттера это когда коммит-объект был записан в репозиторий. git-edit-date позволяет вам установить оба параметра независимо через CSV. Глубокое погружение: дата автора vs дата коммита.

Изменяет ли git-edit-date коммит-сообщения?

Нет. message Столбец в CSV предназначен только для справки. Применяйте обновления: имя автора, адрес электронной почты автора, дату автора и дату коммиттера, а не сообщения.

Подписи GPG сломаются?

Да. Перезапись истории создает новые коммит-объекты с новым SHAs. Любые подписи GPG на исходном коммите становятся недействительными и должны быть подписаны заново. если вам нужны подписанные коммиты.

Могу ли я редактировать только некоторые коммиты?

Да. Оставьте строки без изменений, если вы хотите исправить только specific коммиты. Инструмент перезаписывает всю историю веток, но применяет только метаданные. изменения присутствуют в вашем CSV.

Безопасно ли перезаписывать shared или защищенные ветки?

Вообще нет. Переписывание истории мешает сотрудникам и может нарушать правила защиты ветвей. Используйте git-edit-date в личных или функциональных ветках, координируйте свои действия со своей командой, и никогда не принуждайте main без явного соглашения.

Мне нужно git filter-branch?

Нет. Используйте git-edit-date для исправления даты на уровне ветки через CSV — экспортировать, редактировать временные метки в электронной таблице, применить один раз.

Excel против LibreOffice — есть ли ошибки у CSV?

При экспорте используются поля CSV в двойных кавычках, поэтому запятые и новые строки в сообщениях остаются в безопасности. Сохраните как CSV, а не XLSX. Сохраняйте формат даты RFC3339 со смещением часового пояса. Не редактируйте hash столбец.

Нужно ли мне принудительно толкать?

Если ветка уже была отправлена, да — коммит SHAs изменится после перезаписи. Использовать git push --force-with-lease вместо голого --force. Он отказывается отправлять запрос, если кто-то другой обновил пульт с момента вашего последнего скачивания.