Ho appena aggiornato a Magit 2.1.0. (E anche per emacs 25.0.50 e git 2.3.1.)
In precedenza, nel *magit*
buffer ho potuto:
- Seleziona un hunk nell'area Unstaged.
- Digita ve rispondi sì per invertirlo.
Questo è stato utile.
Ma ora in magit 2.1.0 dà un errore: "Cannot reverse unstaged changes"
.
Perché?
Prendendo un suggerimento dal messaggio di errore, ho scoperto che posso ancora farlo, anche se in modo un po '"arretrato" con più passaggi:
- sstuzzicare il pezzo. (Si sente all'indietro; avvicinandolo allo stato impegnato.)
- Nav down e selezionarlo nell'area Staged.
- Premi v, rispondi si.
- Comunque il pezzo è ancora in scena, quindi finalmente devo mettere in uscena il pezzo.
È un bug o è intenzionale e / o sto diventando denso? Se quest'ultimo, mi puoi aiutare a capire?
AGGIORNAMENTO: Dopo aver accuratamente RTFinfo-ing, vedo che ci sono due comandi:
- v
magit-reverse
Invertire la modifica nel punto dell'albero di lavoro. - k
magit-discard
Rimuovere la modifica nel punto dall'albero di lavoro.
Sembra che k magit-discard
faccia quello che ero abituato a vfare prima. Funziona su un pezzo non messo in scena.
Quindi praticamente ho solo bisogno di riqualificare la mia memoria muscolare da usare k. Potrei postarlo come risposta automatica. Ma immagino di essere ancora curioso della logica, perché immagino che comprenderlo mi aiuterà a capire meglio Magit nel complesso.
k
ignora anche un cambiamento non confermato nelle versioni precedenti di magit e sembra il comando appropriato per quello che stai facendo. v
è per git revert: creare un nuovo commit che apporta la modifica opposta di una precedente. Immagino che annullare una modifica che non sia stata effettivamente commessa equivale a scartarla, ma "ripristinare" ha un significato specifico come comando git.
v
fosse legato a magit-revert-item
(la terminologia "inversa" viene da lì, @PythonNut) e per gli elementi non messi in scena questo era usato per magit-discard-item
(come anche associato k
) - vedere la riga 4872 qui . Apparentemente ho imparato per caso quel significato speciale di v
, che ha funzionato, quando avrei dovuto imparare ad usare k
.