Ist es möglich, eine bestimmte Revision einer Datei in Emacs mit Magit zu öffnen, ohne den aktuellen Zweig zu ändern?
Ich habe einige lokale Änderungen an einer Revision vorgenommen, bei der die geänderten Funktionen durch Funktionen in einer anderen Datei ersetzt wurden. Ich möchte die alte Version meiner Änderungen in einem separaten Puffer öffnen, damit ich die Änderungen nebeneinander vergleichen kann.
Meine aktuelle Hacky- Lösung bestand darin, in Emacs zu starten git show <branch pre-rebase>:file > old_file
und dann zu öffnen old_file
.
git-timemachine
aber da mein Code neu basiert wurde, glaube ich nicht, dass es funktionieren wird, da der alte Code nicht Teil der aktuellen Filialgeschichte ist.Antworten:
Sie können mit einer Datei für eine bestimmte Revision anzuzeigen M-x
magit-find-file
RET<filename>
RET.Oder Sie können das Diff zum Festschreiben zuerst anzeigen, indem Sie darauf drücken RET, zu der Datei im Diff navigieren und dann RETerneut drücken .
quelle
M-x magit-log-buffer-file
Verschieben Sie von der aktuellen Version der Datei aus die Zeile in die gewünschte FestschreibungM-x magit-find-file
. Dann ist der Standardwert das Festschreiben. Ich muss den Pfad zu der Datei angeben, da diese nicht aus dem Protokollpuffer abgerufen wird.magit-find-file
selbst aus einem Dateibesuchspuffer und geben Sie dannRET
bei der zweiten Eingabeaufforderung ein (die richtige Datei wird standardmäßig angeboten).Es ist möglich, mit einfachem VC (eingebaut in Emacs) zu arbeiten, ohne Magit. Geben
C-x v ~
Sie die gewünschte Version ein. Es versteht Tags und SHA1-Hashes sowie die üblichen~1
etc-Suffixe.quelle