Comment puis-je annuler les modifications apportées aux fichiers non mis en scène à l'aide de magit?

28

Existe-t-il un moyen d'émettre la commande:

git checkout NameOfFile

sur un fichier modifié et non mis en scène depuis MAGIT?

user2522280
la source
3
Vous pouvez appuyer sur kpour supprimer les modifications lorsque le point se trouve sur la même ligne que le fichier non organisé.
Tu Do
Essayez xlorsque vous survolez un morceau dans un espace.
moritzschaefer
@moritzschaefer Rien n'indique que cette question s'applique aux spacemacs.
DoMiNeLa10

Réponses:

35

Vous pouvez utiliser l'une des options ci-dessous pour annuler les modifications dans les fichiers non organisés:

  • M-x magit-revert-item(lié à ven magit-status-mode)
  • M-x magit-discard-item(lié à kdans magit-status-mode) - travaux sur les articles mis en scène trop

L'utilisation de l'une ou l'autre méthode vous demandera de confirmer avant de vous défaire.

Manuel Uberti
la source
1
Vous pouvez également utiliser kce qui est lié à magit-discard-itemin magit-mode.
Kaushal Modi
Oui, ça marche aussi.
Manuel Uberti
J'ai essayé en utilisant les deux méthodes, mais je reçois toujours le message: "Rien à jeter ici".
user2522280
Merci! Le mode Magit semble être la meilleure façon de faire à peu près tout ce que j'ai trouvé ...
Jimmy Hoffa
@ user2522280 Avez-vous enregistré votre fichier? git statusdevrait vous indiquer que le fichier a été modifié.
DoMiNeLa10
14

Inverser, annuler et rejeter sont des actions distinctes. Avec le transfert et le retrait, ils sont appelés «appliquer des variantes».

Pour jeter un moyen de changement pour le jeter. Seules les modifications non validées peuvent être rejetées. Lorsqu'un changement échelonné est ignoré, il est non seulement supprimé de l'index (qui est connu comme unstaging), mais également de l'arborescence de travail.

Pour inverser un moyen de changement pour l' appliquer à l'arbre de travail dans le sens inverse. Les changements engagés et simplement échelonnés peuvent être inversés. (L'inversion des modifications par étapes est en fait utile, c'est-à-dire lors de la séparation d'un commit).

Seuls les commits peuvent être annulés , à d'autres égards, c'est similaire à l' inversion .

Voir https://github.com/magit/magit/wiki/History-Manipulation pour plus de détails.

tarse
la source
« Reverting met en scène des changements ... » - vous vouliez dire « Rever de la mise en scène des changements ... ing » Je suppose
npostavs
Oui. Erreur courante car cette distinction n'est pas aussi claire que l'autre :-)
tarsius