Je viens de passer à magit 2.1.0. (Et aussi pour emacs 25.0.50 et git 2.3.1.)
Auparavant, dans le *magit*
tampon, je pouvais:
- Sélectionnez un morceau dans la zone Unstaged.
- Tapez vet répondez oui pour l'inverser.
C'était pratique.
Mais maintenant , en magit 2.1.0 donne une erreur: "Cannot reverse unstaged changes"
.
Pourquoi?
En prenant un indice du message d'erreur, j'ai découvert que je pouvais toujours le faire, quoique d'une manière quelque peu "à l'envers" avec plus d'étapes:
- stage du morceau. (Sensation en arrière; le rapprocher de l'état engagé.)
- Naviguez vers le bas et sélectionnez-le dans la zone Mise en scène.
- Appuyez sur v, répondez oui.
- Cependant, le morceau est toujours mis en scène, donc finalement je dois umonter le morceau.
Est-ce un bug, ou est-ce intentionnel et / ou je suis dense? Si ce dernier, pouvez-vous m'aider à comprendre?
MISE À JOUR: Après bien RTFinfo-ing, je vois qu'il y a deux commandes:
- v
magit-reverse
Inversez le changement au point de l'arborescence de travail. - k
magit-discard
Supprimez la modification au point de l'arborescence de travail.
Il semble que cela k magit-discard
fasse ce que j'avais l'habitude de vfaire auparavant. Cela fonctionne sur un morceau non mis en scène.
Donc, pratiquement, j'ai juste besoin de recycler ma mémoire musculaire pour l'utiliser k. Je pourrais poster cela comme une auto-réponse. Mais je suppose que je suis toujours curieux de savoir pourquoi, car j'imagine que le comprendre m'aidera à mieux comprendre le magit dans son ensemble.
k
supprime également les modifications non validées dans les versions antérieures de magit et semble être la commande appropriée à ce que vous faites. v
est pour git revert: créer un nouveau commit qui fait le changement inverse d'un précédent. J'imagine que le fait d'annuler un changement qui n'a pas réellement été validé équivaut à l'annuler, mais 'revert' a une signification spécifique en tant que commande git.
v
c'était lié à magit-revert-item
(la terminologie "inverse" vient de là, @PythonNut) et pour les éléments non mis en scène, cela faisait magit-discard-item
(comme aussi lié à k
) - voir la ligne 4872 ici . Apparemment, j'ai accidentellement appris ce sens spécial de v
, qui a fonctionné, alors que j'aurais dû apprendre à l'utiliser k
.