Wie kann ich mit magit Änderungen an nicht bereitgestellten Dateien verwerfen?

28

Gibt es eine Möglichkeit, den Befehl auszugeben:

git checkout NameOfFile

auf eine geänderte und nicht bereitgestellte Datei innerhalb von MAGIT?

user2522280
quelle
3
Sie können drücken k, um die Änderungen zu verwerfen, wenn sich der Punkt auf derselben Linie wie die nicht bereitgestellte Datei befindet.
Tu Do
Versuchen Sie es, xwenn Sie ein Stück in Spacemacs schweben.
moritzschaefer
@moritzschaefer Es gibt keinen Hinweis darauf, dass diese Frage für Spacemacs gilt.
DoMiNeLa10

Antworten:

35

Sie können eine der folgenden Methoden verwenden, um Änderungen in nicht bereitgestellten Dateien zu verwerfen:

  • M-x magit-revert-item(gebunden an vin magit-status-mode)
  • M-x magit-discard-item(gebunden an kin magit-status-mode) - funktioniert auch bei inszenierten Objekten

Bei beiden Methoden werden Sie aufgefordert, vor dem Verwerfen zu bestätigen.

Manuel Uberti
quelle
1
Verwenden Sie können auch kwas gebunden ist magit-discard-itemin magit-mode.
Kaushal Modi
Ja das geht auch
Manuel Uberti
Mit beiden Methoden versucht, aber ich erhalte immer noch die Meldung: "Hier nichts zu verwerfen".
user2522280
Vielen Dank! Magit-Modus scheint der beste Weg zu sein, um fast alles zu tun, was ich gefunden habe ...
Jimmy Hoffa
@ user2522280 Haben Sie Ihre Datei gespeichert? git statussollte Ihnen mitteilen, dass die Datei geändert wurde.
DoMiNeLa10
14

Umkehren, Zurücksetzen und Verwerfen sind verschiedene Aktionen. Zusammen mit Staging und Unstaging werden sie als "Varianten anwenden" bezeichnet.

Eine Änderung zu verwerfen bedeutet, sie wegzuwerfen. Es können nur nicht festgeschriebene Änderungen verworfen werden. Wenn eine gestaffelte Änderung verworfen wird, wird sie nicht nur aus dem Index (das heißt, das Staging wird aufgehoben), sondern auch aus dem Arbeitsbaum entfernt.

Eine Änderung rückgängig zu machen bedeutet, sie in umgekehrter Reihenfolge auf den Arbeitsbaum anzuwenden. Sowohl festgeschriebene als auch lediglich bereitgestellte Änderungen können rückgängig gemacht werden. (Das Umkehren von bereitgestellten Änderungen ist tatsächlich nützlich, z. B. beim Aufteilen eines Commits.)

Es können nur Commits zurückgesetzt werden , ansonsten ist es ähnlich wie beim Umkehren .

Weitere Informationen finden Sie unter https://github.com/magit/magit/wiki/History-Manipulation .

Tarsius
quelle
„Zurückkehren inszenierte Änderungen ...“ - Sie bedeutet „Rever s ing Veränderungen statt ...“ Ich denke
npostavs
Ja. Häufiger Fehler, da diese Unterscheidung nicht so eindeutig ist wie die andere :-)
tarsius