Dokumentacja CLI
Dokumentacja wiersza poleceń git-edit-date — eksportuj metadane commitów Git do CSV,
edytuj daty i pola autora oraz przepisuj historię gałęzi.
Wymagania
gitwPATH- Go 1.25+ (do kompilacji ze źródeł)
nfpm(tylko dlamake package)
Szybki start
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
Polecenia
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
export
Eksportuje historię bieżącej gałęzi do CSV.
Uwzględnia tylko commity osiągalne z HEAD
(git rev-list --reverse HEAD).
apply
Przepisuje historię gałęzi z użyciem metadanych z pliku CSV.
Wymaga czystego drzewa roboczego, chyba że przekazano -allow-dirty.
Nie zmienia komunikatów commitów.
completion
Generuje skrypty uzupełniania poleceń dla powłok bash lub zsh.
Format 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"
- Podczas eksportu wszystkie pola są ujęte w podwójny cudzysłów — bezpieczne dla Excela i LibreOffice
- Daty mają format RFC3339 (
%aI/%cIz git) author_nameiauthor_emailaktualizują autora commitu podczas applymessagesłuży tylko jako informacja
Uzupełnianie poleceń powłoki
Bash (jednorazowo, w bieżącej powłoce):
source <(git-edit-date completion bash)
Bash / Zsh (trwała instalacja przez Makefile):
make completion-install
# restart shell or: source ~/.bashrc
Pakiet .deb instaluje uzupełnianie poleceń systemowo dla bash i zsh.
Instalacja
curl -LO https://giteditdate.com/git-edit-date_amd64.deb
sudo dpkg -i git-edit-date_amd64.deb
Tworzenie pakietu
make package
# -> deb/git-edit-date_<version>_amd64.deb
Zainstaluj nfpm:
go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latest
Ostrzeżenia
- Przepisuje SHA commitów wyłącznie w bieżącej gałęzi
- Unieważnia podpisy GPG przepisanych commitów
- Jeśli gałąź została już wypchnięta, wymaga
git push --force-with-lease