Zmień datę commitu Git

git-edit-date to darmowe narzędzie CLI dla Linuksa, które zmienia daty commitów, nazwę autora i e-mail w bieżącej gałęzi. Wyeksportuj historię do CSV, edytuj znaczniki czasu w Excelu lub LibreOffice i zastosuj zmiany jednym poleceniem — bez git commit --amend i bez interaktywnego rebase.

Zmieniaj zbiorczo datę autora, datę committera, nazwę autora i e-mail. Działa zarówno dla pojedynczego commitu na końcu gałęzi, jak i dla dziesiątek commitów w bieżącej gałęzi — również dla już wypchniętej historii (za pomocą --force-with-lease).

Pobierz .deb v1.5 Linux amd64 · za darmo

Dlaczego CSV?

Jesteś tu pierwszy raz? Zacznij od Tutoriala krok po kroku lub przeczytaj FAQ.

Przykład

Załóżmy, że log wygląda tak — błędny e-mail, znaczniki czasu UTC o 3 w nocy:

Przed · git log
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
Po · git log
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

Co się zmieniło: e-mail autora i daty. Komunikaty pozostały takie same; hashe commitów są nowe (historia została przepisana).

Jak to zrobić

1. Wyeksportuj bieżącą gałąź:

git-edit-date export -o commits.csv

2. Otwórz CSV i popraw wybrane pola:

Przed · commits.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
Po · commits.csv
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. Zastosuj i wypchnij zmiany:

git-edit-date apply -file=commits.csv
git push --force-with-lease

Pełna instrukcja: jak zmieniać daty commitów Git.

Zmień datę autora

Git przechowuje dwa znaczniki czasu: datę autora (kiedy napisano zmianę) oraz datę committera (kiedy utworzono obiekt commitu). W CSV edytuj author_date (i opcjonalnie author_name / author_email) niezależnie od committer_date.

Więcej szczegółów: jak zmienić datę autora w Git · data autora a data committera.

Instalacja

curl -LO https://giteditdate.com/git-edit-date_amd64.deb
sudo dpkg -i git-edit-date_amd64.deb

Ważne informacje

Powiązane poradniki