Często zadawane pytania
Częste pytania o zmianę dat commitów Git, metadane autora i przepisywanie historii gałęzi za pomocą git-edit-date.
Jak zmienić daty commitów Git?
Zainstaluj git-edit-date, wyeksportuj gałąź do CSV, edytuj
author_date i committer_date w arkuszu,
a następnie uruchom apply. Działa również dla ostatniego commitu — edytuj jeden wiersz CSV.
Skorzystaj z Tutoriala
lub poradnika
zmiana daty ostatniego commitu Git.
Jak zbiorczo edytować daty commitów Git w gałęzi?
Wyeksportuj historię gałęzi do CSV za pomocą git-edit-date export,
edytuj author_date i committer_date w arkuszu,
a następnie uruchom git-edit-date apply. Zobacz Tutorial.
Czym różni się data autora od daty committera?
Data autora określa czas pierwotnego wykonania pracy. Data committera określa czas zapisania obiektu commitu w repozytorium. git-edit-date pozwala ustawić obie niezależnie przez CSV. Szczegóły: data autora a data committera.
Czy git-edit-date zmienia komunikaty commitów?
Nie. Kolumna message w CSV służy tylko jako informacja.
Apply aktualizuje nazwę autora, e-mail autora, datę autora i datę committera — nie komunikaty.
Czy podpisy GPG przestaną działać?
Tak. Przepisanie historii tworzy nowe obiekty commitów z nowymi SHA. Podpisy GPG pierwotnych commitów stają się nieważne i trzeba podpisać je ponownie, jeśli potrzebujesz podpisanych commitów.
Czy mogę edytować tylko wybrane commity?
Tak. Jeśli chcesz poprawić konkretne commity, pozostaw pozostałe wiersze bez zmian. Narzędzie przepisuje pełną historię gałęzi, ale stosuje tylko zmiany metadanych obecne w pliku CSV.
Czy przepisywanie wspólnych lub chronionych gałęzi jest bezpieczne?
Zasadniczo nie. Przepisywanie historii utrudnia pracę współpracownikom i może naruszać reguły ochrony gałęzi.
Używaj git-edit-date w gałęziach osobistych lub funkcjonalnych, uzgodnij zmiany z zespołem
i nigdy nie wymuszaj wypchnięcia do main bez wyraźnej zgody.
Czy potrzebuję git filter-branch?
Nie. Użyj git-edit-date do poprawiania dat w gałęzi przez CSV — wyeksportuj dane, edytuj znaczniki czasu w arkuszu i zastosuj zmiany jednym poleceniem.
Excel a LibreOffice — na co uważać przy CSV?
Eksport ujmuje pola CSV w podwójny cudzysłów, dzięki czemu przecinki i nowe wiersze w komunikatach są bezpieczne.
Zapisz plik jako CSV, nie XLSX. Zachowaj format dat RFC3339 z przesunięciem strefy czasowej.
Nie edytuj kolumny hash.
Czy muszę wymusić wypchnięcie?
Jeśli gałąź została już wypchnięta, tak — po przepisaniu zmieniają się SHA commitów.
Użyj git push --force-with-lease zamiast samego --force.
Polecenie odmówi wypchnięcia, jeśli od ostatniego pobrania ktoś zaktualizował zdalne repozytorium.