Wie kann ich eine bestimmte Version einer Datei in Git auschecken?
Ich habe diese Mail auf der Mailingliste gefunden , auf der stand:
$ git checkout HEAD~43 Makefile
$ git reset Makefile
Aber ich verstehe nicht, wie ich 'HEAD ~ 43' herausfinden soll. Wenn ich a mache git log aFile
, wie kann ich dann herausfinden, welchen 'HEAD ~ 43' ich verwenden soll?
Und warum muss ich git reset
für diese Datei laufen ? Was tut es?
Antworten:
Sie wissen, zu welchem Commit (dh zur spezifischen Revision) die Datei gehört? Dann mach:
Der andere Befehl:
Ist für den Fall, dass Sie eine Version der Datei aus einem Bereich zurück erhalten möchten (was ich für Nostalgie mache).
quelle
HEAD~43
ist nur baumartig, also können Sie einen Hash oder ein Tag verwenden. Sie müssen treeish vom Dateinamen mit trennen--
, andernfalls wird es als Dateiname behandelt. Beispielsweise.quelle
HEAD~43
bezieht sich auf das Commit (Version) der Datei. Stattdessen können Sie den Commit-Hash verwenden, den Siegit log
für die Datei erhalten. Wenn Sie nur die Datei möchten, müssen Sie sie nicht ausführengit reset
. Dies ist nur erforderlich, wenn Sie die Datei auf den aktuellen HEAD weiterleiten möchten.quelle