Yo usaría git restore
(disponible desde git 2.23)
git restore --source otherbranch path/to/myfile.txt
¿Por qué es mejor que otras opciones?
git checkout otherbranch -- path/to/myfile.txt
- Copia el archivo en el directorio de trabajo pero también en el área de ensayo (efecto similar al de copiar este archivo manualmente y ejecutarlo git add
en él). git restore
no toca el área de preparación (a menos que se lo indique por --staged
opción).
git show otherbranch:path/to/myfile.txt > path/to/myfile.txt
usa redirección de shell estándar. Si usa Powershell, entonces podría haber un problema con la búsqueda de texto o podría obtener un archivo roto si es binario . Con el git restore
cambio de archivos se hace todo porgit
ejecutable.
Otra ventaja es que puede restaurar la carpeta completa con:
git restore --source otherbranch path/to
o con git restore --overlay --source otherbranch path/to
si desea evitar eliminar archivos. Por ejemplo, si hay menos archivos en el otherbranch
directorio de trabajo actual (y estos archivos se rastrean ) sin --overlay
opción git restore
, los eliminará. Pero este es un buen comportamiento predeterminado, lo más probable es que desee que el estado del directorio sea el mismo otherbranch
, no "el mismo pero con archivos adicionales en mi rama actual"