Ich muss das Datum des Commits von git überschreiben, alle Dokumentationspunkte auf --date Parameter, aber dann lässt man ohne einen Hinweis auf das entsprechende Format. Ich habe jede mögliche Permutation ausprobiert, und ich bekomme "fatal: ungültiges Datumsformat:" Fehler für jeden einzelnen.Was ist das Format für --date Parameter von git commit
Antwort
Git 2.6+ (Q3 2015) eine neue Option hinzufügen.
Siehe commit e4f031e (30. Juni 2015) und commit aa1462c, commit a5481a6, commit b7c1e11 (25. Juni 2015) von Jeff King (peff
).
(Verschmelzung durch Junio C Hamano -- gitster
-- in commit d939af1, 03. Aug 2015)
einführen "Format" date-Modus
Dies führt das Format direkt an
strftime
.
Abgesehen davon, ein wenig flexibler, ist der Hauptvorteil, dass Ihr Systemstrftime
mehr über das bevorzugte Format Ihres Gebiets kennen (z. B. wie die Wochentage buchstabieren).
--date=format:...
speist das Format...
in Ihr System einstrftime
.
Verwenden Sie--date=format:%c
, um das Datum im bevorzugten Format Ihres Systemgebiets anzuzeigen.
Eine vollständige Liste der Formatplatzhalter finden Sie im Handbuchstrftime
.
Davide Cavestro schlägt in the comments das Beispiel:
git commit -m "Test" --date=format:relative:5.hours.ago
Original-Antwort (Mitte 2014)
Die --date
Option (in commit 02b47cd im Dezember 2009 eingeführt, für git1.7.0) Anwendungen das gleiche Format wie für GIT_AUTHOR_DATE
, mit Datum Formaten in commit 96b2d4f getestet:
Dort können Sie die verschiedenen Format sehen akzeptiert:
- RFC2822:
Mon, 3 Jul 2006 17:18:43 +0200
- ISO8601:
2006-07-03 17:18:43 +0200
- local:
Mon Jul 3 15:18:43 2006
- kurz:
2006-07-03
(nicht in 1.9.1 arbeitet in 2.3. 0) relativ: siehe commit 34dc6e7:
5.seconds.ago, 2.years.3.months.ago, '6am yesterday'
roh: siehe commit 7dff9b3 (git 1.6.2. März 2009)
internen roh git format - Sekunden seit Epoche und Zeitzone
(anders gesagt: 'date +"%s %z"
' Format)- default:
Mon Jul 3 17:18:43 2006 +0200
ADTC fragt und Antworten in the comments :
Akzeptiert es 2006-07-03 15:18:43 für lokale?
Ja es funktioniert und es nimmt die lokale Zeitzone automatisch.
Mit diesem Format muss ich nicht stören, an welchem Wochentag es ist (Sun
,Mon
, etc).
Akzeptiert es '2006-07-03 15: 18: 43' für * local *? Was sind * relative * und * rohe * Formate? – ADTC
Um meine eigene erste Frage zu beantworten, ja es funktioniert und es dauert die lokale Zeitzone automatisch. Bei diesem Format muss ich mich nicht darum kümmern, an welchem Wochentag es ist (Sonntag, Montag usw.). – ADTC
@ADTC Ich habe Links und Referenzen für das relative und rohe Datumsformat hinzugefügt. Ich habe Ihren Kommentar in die Antwort für mehr Sichtbarkeit aufgenommen. – VonC
Das Datumsformat wird bei Documentation/date-formats.txt (man git commit
) und sehr "humanishely" analysiert underdocumented.
Das einzige, was funktioniert, ist das Lesen der Quelle unter date.c und probieren Sie es aus.
Punkte nicht durch VonC auf 2.3.0 erwähnt:
nur Ziffern sind auf die Anzahl der Ziffern analysiert abhängig:
2 Stellen: 19YY, für YY> = 73, aktueller Monat, Tag und Uhrzeit. Ansonsten Fehler oder aktuelles Datum.
4 Ziffern: YYYY, für YYYY> = 1973 < = 2099
> 8 Stellen bis zu einem gewissen kleinen Grenze (ERLEDIGT welche?): UNIX Zeit (Sekunden seit 1970)
@<digits> +0000
: UNIX-Zeit.Dies scheint der beste Weg, um UNIX-Zeiten direkt einzugeben.
2 ** 64 - 2 (TODO warum nicht -1?) War der Maximalwert, der nicht zu einem Commit-Fehler führte. Der Stempel wird in einem C-Long gespeichert.
git log
zeigt sehr große Werte (irgendwo um2^55
ERLEDIGT wo?) 1970, obwohlgit cat-file -p HEAD
zeigt, dass die richtige Nummer gespeichert wurde, so dass es wie eine Begrenzung der Datumsumstellung scheint.Für alles größer als , der größte positiv signiert lange, versucht, zu GitHub Push mit
date causes integer overflow
.VonC wies darauf hin, dass dies eine Schande ist, da es negative Daten Is it possible to set a git commit to have a timestamp prior to 1970? blockiert, die verwendet werden könnten, um ältere Software zu Git zu migrieren.
tea
: Heute um 17 Uhr :-)
Beachten Sie, dass mit Git-Repos Initiativen abhängig von Datum (wie diesem: http://Stackoverflow.com/q/29385441/6309), Daten vor 1970 wäre nett: http://StackOverflow.com/A/24977895/ 6309 – VonC
@VonC: netter Link. Es war mir nicht in den Sinn gekommen, dass Versionskontrolle existiert seit den 60er/70er Jahren http://programmers.stackexchange.com/questions/184695/when-was-source-control- erfunden und Text seit Jahr -3200. Was, wenn sie Hammurabis Code nach Git migrieren wollen? :-) (ah, habe gerade herausgefunden, dass jemand das schon getan hat: https://github.com/elia/hammurabi/blob/master/lib/hammurabi/code.txt, aber die Zeitstempel verloren) –
- 1. git commit - Format?
- 2. Wie git Format-Patch beim ersten Commit
- 3. Was ist das BMP-Format für Graustufenbilder?
- 4. Ist ein Format-Update ein frivoler Git-Commit?
- 5. Was ist das Gegenteil von "Format"?
- 6. Was ist das Format von `* .ni.dll.aux` Dateien?
- 7. Was ist das TREC-Format?
- 8. Git Look Commit-Protokoll für Commit-ID
- 9. Was ist das Version-Tagging-Format für/von: $ Revision: 3.2.1 $
- 10. Was ist das richtige Format für RSS-Feed-Pubdate?
- 11. Ordinal Date Format C#
- 12. Wie konfiguriere ich 'git log' um 'commit date' anzuzeigen?
- 13. Ist es möglich, Parameter im Parameter Date from in Date für den BI-Publisher zu parametrieren?
- 14. Was ist die Zeitquelle für Date()?
- 15. Was ist das ?! $ (mehrfache Parameter?)
- 16. git commit -m vs. git commit -am
- 17. Was ist ein Subprojekt Commit?
- 18. Was ist das richtige Date/Datetime Format in JSON für Spark SQL, um automatisch das Schema dafür abzuleiten?
- 19. Was tun die getUTC * -Methoden für das date-Objekt?
- 20. Import Date Format mmddyyyy
- 21. Was ist das seltsame C-Code-Format?
- 22. jQuery: Change Date Format
- 23. Was bedeutet "CL" in Commit-Nachricht? Für was steht das?
- 24. Was ist der Unterschied zwischen --Parameter und -Parameter?
- 25. Wie wählt man das Format von $ date in VM-Datei?
- 26. Date XMLGregorianCalendar mit bestimmten Format
- 27. git commit defekte Zeitzone
- 28. Was ist das am einfachsten zu parsene Format für PHP?
- 29. Was ist das korrekte Format für Apache Cordova ios Paketname
- 30. was ist das Format für Sekunden XXXXXXX.XXXXX: XXX (Win32_NetworkLoginProfile)
Dass einige Antworten auf diese Frage Mine teilweise beantworte. Ich habe es gerade überprüft und es funktioniert. Übrigens, Sie müssen den Wochentag nicht dorthin legen (das wäre schmerzhaft). – v010dya