Cómo llevar cambios de una rama a otra en Git

How Pull Changes From One Branch Another Git



Un repositorio de git contiene una o más ramas para administrar el código de manera eficiente. A veces, los usuarios de git necesitan trabajar con varias ramas simultáneamente y necesitan cambiar de una rama a otra con los cambios realizados en la rama anterior a la rama actual antes de confirmar. Esta tarea se puede realizar utilizando varias formas en git. El comando stash se puede usar desde la terminal y combinar comandos desde el escritorio de GitHub para extraer los cambios de una rama a otra en este tutorial.

Prerrequisitos

1. Instale GitHub Desktop
GitHub Desktop ayuda al usuario de git a realizar las tareas relacionadas con git de forma gráfica. Puede descargar fácilmente el último instalador de esta aplicación para Ubuntu desde github.com. Tienes que instalar y configurar esta aplicación después de la descarga para usarla. También puede consultar el tutorial para instalar GitHub Desktop en Ubuntu para conocer el proceso de instalación correctamente.







2. Crea una cuenta de GitHub
Deberá crear una cuenta de GitHub para verificar el aspecto del repositorio remoto después de publicar el cambio del repositorio local.



3. Crea un repositorio local
Debe crear un repositorio local para verificar los comandos utilizados en este tutorial.



Uso del comando stash

El repositorio local llamado PHP2 se ha utilizado en este tutorial para mostrar cómo extraer cambios de una rama a otra del repositorio. Crea un archivo llamado index.html en el repositorio. Abra la terminal y vaya a la carpeta del repositorio. Ejecute los siguientes comandos para verificar la lista de ramas, cambiar a la rama maestra y mostrar el estado de la rama.





$ git branch
$ git checkout master
estado de $ git

La siguiente salida aparecerá después de ejecutar el comando anterior. La salida muestra que el repositorio contiene dos ramas y el principal rama estuvo activa inicialmente. Después de cambiar al Maestro rama, la salida del estado muestra que la rama actual está activa y el index.html el archivo no tiene seguimiento.



Ejecute los siguientes comandos para rastrear el archivo sin rastrear y verificar el estado del repositorio de git nuevamente.

$ git agregar index.html
estado de $ git

La siguiente salida aparecerá después de ejecutar los comandos anteriores. La salida del estado muestra que el index.html El archivo se agrega al repositorio pero debe confirmarse.

Ejecute los siguientes comandos y verifique el estado del repositorio de git nuevamente. El comando `git stash` funciona como el comando` git commit`. El directorio de trabajo del repositorio se limpiará después de ejecutar este comando.

$ git alijo
estado de $ git

La siguiente salida aparecerá ejecutando los comandos anteriores.

Después de ejecutar el comando stash para una rama, si el usuario de git quiere llevar los cambios de la rama a otra rama, puede hacerlo fácilmente usando el comando `git stash pop` que funciona como el comando` git merge`. Ejecute los siguientes comandos para cambiar a el principal bifurcar y extraer los cambios de la Maestro rama a la principal rama.

$ git checkout principal
$ git stash pop

La siguiente salida aparecerá después de ejecutar el comando anterior que muestra que la rama actual es principal y el index.html El archivo se agrega en esta rama.

Ejecute el siguiente comando para confirmar la tarea anterior con el mensaje de confirmación y verificar el estado nuevamente.

$ git commit -m 'archivo de índice agregado'
estado de $ git

La siguiente salida aparecerá después de ejecutar los comandos anteriores. La salida del estado muestra que el árbol de trabajo está limpio ahora después de la confirmación.

Si los cambios del repositorio local se envían al repositorio remoto y el repositorio remoto se abre desde github.com, el repositorio se verá como la siguiente imagen.

Uso del comando fusionar

Esta parte de este tutorial muestra otra forma de extraer los cambios de una rama a otra. El repositorio local llamado archivo de lectura ha utilizado aquí. Cree un archivo llamado read.php en la ubicación del repositorio. Ejecute los siguientes comandos para cambiar a la rama maestra, agregue el archivo read.php y confirme la tarea. El comando de rama mostrará la lista de ramas. El comando de pago cambiará la rama a maestra. El comando de estado mostrará el estado actual de la sucursal. El comando agregar agregará el archivo sin seguimiento en el repositorio. El comando de confirmación confirmará la tarea.

$ git branch
$ git checkout master
estado de $ git
$ git agregar read.php
$ git commit -m 'Se agrega el script de lectura'

La siguiente salida aparecerá después de ejecutar los comandos anteriores. El archivo read.php se ha agregado a la rama maestra del repositorio y la tarea también se ha confirmado.

Después de completar la tarea anterior, si los cambios realizados en el Maestro rama requiere transferencia a la principal rama, entonces la fusión El comando se puede utilizar para realizar esta tarea. El comando fusionar se puede usar desde la terminal o usando la aplicación GitHub Desktop. La forma de usar GitHub Desktop para fusionar ramas se muestra en esta parte del tutorial. Abra el repositorio local en GitHub Desktop. Abra el cuadro de diálogo de la lista de sucursales haciendo clic en la lista de sucursales desde el Vista menú y seleccione el principal branch como rama activa. Ahora, haga clic en el Fusionar en la rama actual… desde el Rama menú. Selecciona el Maestro rama del cuadro de diálogo y haga clic en el Fusionar maestro con el principal para tirar de los cambios del Maestro ramificarse en el principal rama. Puede eliminar el Maestro branch después de completar la operación de fusión si la rama no requiere el repositorio.

Conclusión

En este tutorial se muestran dos formas diferentes de extraer los cambios de una rama a otra utilizando dos repositorios locales de demostración. los reserva y ir Los comandos de git se han utilizado aquí para realizar la tarea. En este tutorial se ha utilizado GitHub Desktop para mostrar la forma de fusionar ramas gráficamente.