Die Frage betrifft den Magit-Hauptmodus für die Emacs-Funktion und weniger die Vorgehensweise über die Befehlszeilenschnittstelle.
Ich habe nur ein lokales Git-Repository. Wie würde ich eine ausgewählte Datei auf ihre vorherige Version zurücksetzen? Ich glaube, dass der Git-Befehl dafür so etwas wie sein muss, git checkout HEAD^ path/to/file
aber ich kann mich auch hier irren, nur wirklich raten.
Was ich suche, ist im Wesentlichen dasselbe wie C-x v uim vc-dir
Puffer.
Im Wesentlichen hatte ich gehofft:
Löschen Sie die geänderte Datei.
aus dem lokalen Repo ziehen.
Aber Magit scheint das nicht zu können, es scheint lieber zu sein, die Datei zu löschen, als sie wiederherzustellen.
*magit-status*
)? (2) Wenn Sie nur zur Basis zurückkehren möchten, verwenden Sie denvc
NebenmodusC-x v u
.git checkout HEAD file
würde nicht festgeschriebene Änderungen verwerfen.git checkout HEAD^ file
würde auch Änderungen (falls vorhanden) zurücksetzen, die an der Datei im letzten Commit für das Repository vorgenommen wurden. Wenn dieses Commit die betreffende Datei nicht betraf,^
ist das effektiv redundant. Wenn Sie sich Ihre "Löschen und Ziehen" -Zusammenfassung ansehen, möchten Sie nur nicht festgeschriebene Änderungen verwerfen. In diesem Fall ist Rémis Antwort die gewünschte.Antworten:
In Magit müssen Sie nur auf das Stück oder die Datei gehen, die Sie zurücksetzen möchten, und
k
eine Änderung verwerfen. Weitere Informationen finden Sie in der entsprechenden Dokumentation unter https://magit.vc/manual/1.4/magit/Staging-and-Committing.html .quelle
commit
: Wenn Sie die Datei zusammen mit anderen Änderungen festgeschrieben haben, können Sierevert
mitv
und dannk
die inversen Änderungen, bei denen Sie die Änderungen beibehalten möchten.Bei geöffneter Datei können Sie
M-x magit-file-checkout
.quelle
magit-checkout-file
ist veraltet, verwenden Siemagit-file-checkout
stattdessen.