Não conheço uma maneira embutida de fazer isso.
Supondo que você esteja no ramo A, outra abordagem seria diferenciar o ramo B ( d r ..B
) e, em seguida, mover o ponto para o arquivo no qual você está interessado. Pressionar a
aplicará essas alterações na árvore de trabalho (e não no índice).
Eu tenho um comando na minha configuração para redefinir ou retirar um arquivo de uma revisão, mas, no estado atual, ele não se encaixa exatamente no que você está pedindo, porque não oferece um bom padrão de revisão quando estiver no Magit Revision modo.
(defun km/magit-reset-file (rev file &optional checkout)
"Reset FILE from revision REV.
If prefix argument CHECKOUT is non-nil, checkout FILE from REV
instead.
\(git reset REV -- FILE)
\(git checkout REV -- FILE)"
(interactive
(let ((rev (magit-read-branch-or-commit "Revision")))
(list rev (magit-read-file-from-rev rev "File") current-prefix-arg)))
(magit-with-toplevel
(magit-run-git (if checkout "checkout" "reset")
rev "--" file)))