2009-10-16 9 views
54

Ich habe die Commits in einem Zweig reorganisiert, bevor es öffentlich gemacht werden wird, verursacht die Zeitstempel der Commits in einer durcheinander geratenen Reihenfolge. Ich möchte lieber, dass sie alle mit nur Sekunden dazwischen sind.Ändere Timestamps beim Rebasting von Git-Zweig

Offensichtlich werden diese Zeitstempel auch nicht korrekt sein, aber da dies der Zeitpunkt ist, an dem die Dinge öffentlich werden, bevorzuge ich das in einer gemischten Geschichte, zeitlich.

Also wie sage ich Git, um neue Zeitstempel beim Rebasing zu erstellen?

Antwort

77
git rebase --ignore-date 
+0

Ich glaubte daran zu erinnern, dass es um die Einstellung einiger envvar ging. (Eigentlich habe ich in der Manpage nachgesehen, aber nichts gefunden. Aber ich habe die Optionen nicht durchgegangen, weil ich mir so sicher war, dass es sich um eine envvar handelt.) – tarsius

+0

tarsius, ich denke du redest über 'git filter- Verzweigung, aber Sie brauchen es nicht wirklich für eine einfache Aufgabe wie diese. –

+0

Naja, eigentlich ist es nicht mit git aus dem Master-Zweig arbeiten: git -i --ignore-date a7a86fe Fehler rebase: unbekannt Option 'ignorieren-date‘ Diese Nähte jedoch einen Fehler sein: in der Manual-Page dieses Option ist tatsächlich aufgeführt. – tarsius

20

In meinem Fall Zeitstempel CommitDate Wert geändert Rebasieren, so in gitweb ein paar Monate alt Commits als 4 Tage alt auftauchte. Ich fand den letzten Commit mit dem richtigen Datum und tat:

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

Falls jemand anderes fragt: '--committer-date-is-Autor-date' [ist ein Alias ​​für] (https://git-scm.com/docs/git-rebase)' --ignore-date '. – maxschlepzig

+25

Nein, ist es nicht. In der Tat ist es das genaue Gegenteil. Aus der Dokumentation von [ 'git rebase'] (https://git-scm.com/docs/git-rebase):„_Diese Flaggen werden auf 'git am' weitergegeben leicht die Daten des umbasiert commits_ ändern“. In ['git am'] (https://git-scm.com/docs/git-am) heißt es:' --committer-date-is-author-date' "_ [...] erlaubt dem Benutzer über das Committer-Datum zu liegen, indem der gleiche Wert wie der Autor verwendet wird date_ "while' --ignore-date' "_ [...] erlaubt es dem Benutzer, über das Autorendatum zu lügen, indem er denselben Wert wie das Committer-Datum verwendet_ . –

Verwandte Themen