tutorial remota rama example español cambiar git merge

remota - ¿Cómo copio una versión de un solo archivo de una rama de git a otra?



git push example (5)

Tengo dos ramas que están completamente fusionadas.

Sin embargo, después de que se realiza la combinación, me doy cuenta de que un archivo ha sido desordenado por la combinación (otra persona hizo un formato automático, gah), y sería más fácil cambiar a la nueva versión en la otra rama, y luego reinserte mi cambio de una línea después de traerlo a mi sucursal.

Entonces, ¿cuál es la forma más fácil en git para hacer esto?


¿Qué pasa con el uso de comando de pago:

git diff --stat "$branch" git checkout --merge "$branch" "$file" git diff --stat "$branch"


1) Asegúrese de estar en la sucursal donde necesita una copia del archivo. por ejemplo: quiero un archivo de rama secundaria en el maestro, por lo que debe realizar el pago o debe estar en el maestro git checkout master

2) Ahora compruebe solo el archivo específico que desea desde la rama secundaria al maestro,

git checkout sub_branch file_path/my_file.ext

aquí sub_branch significa donde tiene ese archivo seguido del nombre de archivo que necesita copiar.


Ejecuta esto desde la rama donde quieres que termine el archivo:

git checkout otherbranch myfile.txt

Fórmulas generales:

git checkout <commit_hash> <relative_path_to_file_or_dir> git checkout <remote_name>/<branch_name> <file_or_dir>

Algunas notas (de los comentarios):

  • Usando el hash de confirmación puedes extraer archivos de cualquier confirmación.
  • Esto funciona para archivos y directorios.
  • sobrescribe el archivo myfile.txt y mydir
  • Los comodines no funcionan, pero los caminos relativos sí funcionan.
  • Se pueden especificar múltiples rutas

una alternativa:

git show commit_id:path/to/file > path/to/file


Siguiendo la respuesta de madlep, también puede copiar un directorio de otra rama con el blob de directorio.

git checkout other-branch app/**

En cuanto a la pregunta de la operación, si solo ha cambiado un archivo allí, esto funcionará bien ^ _ ^


Terminé en esta pregunta en una búsqueda similar. En mi caso, estaba buscando extraer un archivo de otra rama en el directorio de trabajo actual que era diferente de la ubicación original del archivo. Answer :

git show TREEISH:path/to/file >path/to/local/file