2009-10-16 11 views
54

Dokonałem reorganizacji zatwierdzeń w oddziale, zanim zostanie on upubliczniony, powodując, że znaczniki czasowe zatwierdzeń są w różnym porządku. Wolałbym, żeby wszyscy byli dzisiaj z zaledwie sekundami.Zmienianie znaczników czasu podczas ponownego przypisywania gałęzi git

Oczywiście te znaczniki czasu również nie będą poprawne, ale ponieważ jest to czas, w którym rzeczy stają się publiczne, wolę to w porównaniu z przeszłością.

Jak więc powiedzieć git, aby utworzyć nowe znaczniki czasu podczas ponownego tworzenia?

Odpowiedz

77
git rebase --ignore-date 
+0

Uważałem, że pamiętam, że wymagało to ustawienia jakiegoś envvar. (Właściwie to sprawdziłem na stronie podręcznika, ale nic nie znalazłem, ale nie przeszedłem przez opcje, ponieważ byłem tak pewien, że dotyczyło to envvar.) – tarsius

+0

tarsius, myślę, że mówisz o 'git filter- branch', ale tak naprawdę nie potrzebujesz go do prostego zadania takiego jak to. –

+0

No faktycznie nie działa z git z branży Master: git rebase -i --ignore-datę a7a86fe błędu: nieznana opcja 'ignorować-data” Ten szwy być jednak błąd: w tym manpage opcja faktycznie znajduje się na liście. – tarsius

20

W moim przypadku podścielanie zmieniony znaczniki czasu wartości CommitDate, więc w gitweb grono miesięcy stare commity pojawił się jako 4 dni. Znalazłem ostatnie zatwierdzenie z poprawną datą i zrobiłem:

$ git rebase --committer-date-is-author-date SHA 
+6

Jeśli ktoś jeszcze się zastanawia: '--committer-date-is-author-date' [jest aliasem dla] (https://git-scm.com/docs/git-rebase)' --ignore-date '. – maxschlepzig

+25

Nie, nie jest. W rzeczywistości jest dokładnie odwrotnie. Z dokumentów ['git rebase'] (https://git-scm.com/docs/git-rebase):" _ Te flagi są przekazywane do 'git am', aby łatwo zmienić daty remisji commits_". W ['git am'] (https://git-scm.com/docs/git-am) jest napisane:' --committer-date-is-author-date' "_ [...] pozwala użytkownikowi kłamać o dacie komisarza, używając tej samej wartości co autor date_ "podczas gdy" --ignore-date "" _ [...] pozwala użytkownikowi kłamać o dacie autora, używając tej samej wartości, co data_konsumentu " . –

Powiązane problemy