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 adden él). git restoreno toca el área de preparación (a menos que se lo indique por --stagedopción).
git show otherbranch:path/to/myfile.txt > path/to/myfile.txtusa 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 restorecambio 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/tosi desea evitar eliminar archivos. Por ejemplo, si hay menos archivos en el otherbranchdirectorio de trabajo actual (y estos archivos se rastrean ) sin --overlayopció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"