Tengo un archivo foo.txten rama A, y quiero retirarlo foo.txtde la rama Bal índice. En la línea de comando, haría esto:
$ git checkout B -- foo.txt
Quiero poder hacer esto de manera mágica yendo al registro, buscando la confirmación que me interesa (por ejemplo l o B), encontrando foo.txty ejecutando algún comando, pero no puedo encontrar la manera de hacerlo.  

Respuestas:
A partir de magit 2.11.0 esto es posible directamente desde el despachador de reinicio (
X fy puede especificar la revisión y el archivo):Esto se puede hacer mediante programación usando magit,
magit-file-checkoutque acepta una especificación de versión y el nombre de archivo (gracias a la solicitud de función de @Emoses y la implementación de @Kyle Meyer). Anteriormente se nombraba la funciónmagit-checkout-file(de v2.3.0 - v2.9.0).fuente
magit-checkout-fileAhora está obsoleto. Usar en sumagit-file-checkoutlugar.No conozco una forma integrada de hacer esto.
Suponiendo que está en la rama A, otro enfoque sería diferenciar la rama B (
d r ..B), y luego mover el punto al archivo que le interesa. Al presionarase aplicarán esos cambios al árbol de trabajo (en lugar del índice).Tengo un comando en mi configuración para restablecer o retirar un archivo de una revisión, pero, en su estado actual, no se ajusta exactamente a lo que está pidiendo porque no ofrecerá una buena revisión predeterminada cuando esté en Revisión Magit modo.
fuente