Acabei de atualizar para o magit 2.1.0. (E também para emacs 25.0.50 e git 2.3.1.)
Anteriormente, no *magit*
buffer eu podia:
- Selecione um pedaço na área Sem estágio.
- Digite ve responda yes para inverter.
Isso foi útil.
Mas agora, em magit 2.1.0 ele dá um erro: "Cannot reverse unstaged changes"
.
Por quê?
Tomando uma dica da mensagem de erro, descobri que ainda posso fazer isso, embora de maneira um pouco "retrógrada" com mais etapas:
- sprenda o pedaço. (Sente-se para trás; aproximando-o do estado comprometido.)
- Navegue para baixo e selecione-o na área Preparado.
- Pressione v, responda sim.
- No entanto, o pedaço ainda está encenado, então finalmente eu tenho que uencenar o pedaço.
Isso é um bug ou é intencional e / ou estou sendo denso? Neste último caso, você pode me ajudar a entender?
ATUALIZAÇÃO: Após o RTFinfo completamente, vejo que existem dois comandos:
- v
magit-reverse
Inverta a alteração no ponto da árvore de trabalho. - k
magit-discard
Remova a alteração no ponto da árvore de trabalho.
Parece que k magit-discard
faz o que eu estava acostumado a vfazer antes. Ele funciona em um pedaço não-encenado.
Então, praticamente, eu só preciso treinar minha memória muscular para usar k. Eu poderia postar isso como uma resposta automática. Mas acho que ainda estou curioso sobre a lógica, porque imagino que entendê-la me ajudará a entender melhor o magit.
k
também descarta uma alteração não confirmada nas versões anteriores do magit e parece o comando apropriado para o que você está fazendo. v
é para git revert: criando um novo commit que faz a mudança oposta de um anterior. Eu acho que reverter uma mudança que realmente não foi confirmada é o mesmo que descartá-la, mas 'reverter' tem um significado específico como um comando git.
v
estava vinculado a magit-revert-item
(a terminologia "reversa" vem daí, @PythonNut) e, para itens não estágios, isso costumava fazer um magit-discard-item
(como também vinculado a k
) - veja a linha 4872 aqui . Aparentemente, eu aprendi acidentalmente esse significado especial v
, que funcionou, quando eu deveria ter aprendido a usar k
.