Von dem, was ich sehen kann, sind Git-Commit-Daten und Autorendaten nur auf eine Sekunde genau. Ich frage mich, ob das so genau ist wie sie erhalten oder kann ich den Zeitstempel in Millisekunden oder sogar Mikrosekunden bekommen.
Dieser Befehl gibt den UNIX-Zeitstempel mit dem Commit-Hash des ersten Commits zurück:
%Vor%Ergebnis: 1421437899
Was ist die Genauigkeit des Commit-Datums oder des Author-Date-Timestamps von GIT?
Die Auflösung von Git commit / author dates ist 1 Sekunde, was, wie von Alexey Ten und Edward Thomson , ist auch die Auflösung von Unix-Zeitstempeln .
Ein interessantes Experiment, das Sie durchführen können, ist
Wie Sie vielleicht wissen, erstellt das Ändern eines Commits tatsächlich ein neues Commit . Normalerweise hätte das neue Commit einen anderen Zeitstempel und daher eine andere Commit-ID als das erste Commit. Sie können jedoch ein Skript schreiben, das das Commit erstellt und es hoffentlich innerhalb derselben Systemuhr-Sekunde korrigiert, wodurch ein Commit mit dem gleichen Hash wie beim ersten erzeugt wird.
Richte zuerst die Dinge ein:
%Vor% Schreiben Sie das dann in eine Skriptdatei (im Folgenden commitAmend.sh
genannt)
und führen Sie es aus:
%Vor%Gleicher Zeitstempel, gleicher Hash!
Es ist eine Sekunde; Während git-show
die Ausgabe ein wenig prettiert, können Sie die Informationen zum raw-Commit mit dem Befehl git-cat-file
sehen. Zum Beispiel:
Sie können tatsächlich sehen, dass dies ein Unix-Zeitstempel mit einer Auflösung von 1 Sekunde ist.