Ссылка CLI
Справочник по командной строке для git-edit-date — экспортировать метаданные git коммит в CSV,
редактировать даты и поля автора, а также переписывать историю ветвей.
Требования
gitвPATH- Go 1.25+ (для сборки из исходников)
nfpm(только дляmake package)
Быстрый старт
git-edit-date export -o commits.csv
# edit author_name, author_email, author_date and committer_date in commits.csv
git-edit-date apply -file=commits.csv
git push --force-with-lease
Команды
git-edit-date export [-o commits.csv] [-repo path]
git-edit-date apply -file=commits.csv [-repo path] [-allow-dirty]
git-edit-date completion bash|zsh
экспорт
Экспортирует текущую историю веток в CSV.
Только коммиты доступны из HEAD включены
(git rev-list --reverse HEAD).
применять
Перезаписывает историю ветвей, используя метаданные из CSV.
Требуется чистое рабочее дерево, если только -allow-dirty пройдено.
Не меняет коммит-сообщения.
завершение
Генерирует сценарии завершения оболочки bash или zsh.
Формат CSV
"hash","author_name","author_email","author_date","committer_date","message"
"a1b2c3...","Alice","alice@example.com","2024-03-06T14:30:00+01:00","2024-03-06T15:00:00+01:00","Initial commit"
- Все поля при экспорте заключаются в двойные кавычки — безопасно для Excel и LibreOffice.
- Даты используют RFC3339 (
%aI/%cIиз git) author_nameиauthor_emailобновить автора коммита при подаче заявкиmessageтолько для справки
Завершение оболочки
Bash (одноразовая, текущая оболочка):
source <(git-edit-date completion bash)
Bash / Zsh (постоянная установка через Makefile):
make completion-install
# restart shell or: source ~/.bashrc
.deb пакет устанавливает общесистемные дополнения для bash и zsh.
Установить
curl -LO https://giteditdate.com/git-edit-date_amd64.deb
sudo dpkg -i git-edit-date_amd64.deb
Упаковка
make package
# -> deb/git-edit-date_<version>_amd64.deb
Установите nfpm:
go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latest
Предупреждения
- Перезаписывает коммит SHAs только в текущей ветке.
- Делает недействительными подписи GPG на переписанных коммитах.
- Требует
git push --force-with-leaseесли ветка уже была отправлена
Прохождение: учебник · Вопросы: Часто задаваемые вопросы