Conceptos básicos de la rama de git

Conceptos básicos de la rama de git

Conceptos básicos de ramificación Git

La capacidad de ramificar fácilmente es una de las mejores características de Git. La creación de ramas en otros sistemas de control de versiones puede ser costosa en términos de requisitos de espacio y procesamiento. La ramificación de git es eficiente. Por lo tanto, los usuarios son más propensos a usar ramas en GIT.

Un flujo de trabajo de ramificación

Supongamos que comenzó un nuevo proyecto llamado myVideoGame. Tiene una sola rama. El nombre predeterminado de la rama inicial en git se llama maestro. Se crea automáticamente. Creemos el repositorio de myVideoGame git.

$ mkdir myVideoGame
$ cd myVideoGame
$ git init

Has creado un repositorio git vacío. Agreguemos nuestro diseño.archivo txt con algún texto en él.

$ echo "Decisión de diseño 1: Agregar imágenes" >> Diseño.TXT
$ echo "Decisión de diseño 2: Código de escritura" >> Diseño.TXT
$ git add -a
$ git commit -m "c0: archivo de diseño agregado"

Agreguemos algunos cambios más:

$ echo "Decisión de diseño 3: Juego de prueba" >> Diseño.TXT
$ git add -a
$ git commit -m "c1: archivo de diseño modificado"

Si verifica el historial, encontrará:

$ git log -enneline
6A09BD6 C1: archivo de diseño modificado
5F18D89 C0: archivo de diseño agregado

Si verifica el estado de Git y todas las ramas que se crearon (usando el comando: Git Branch -a), ve:

Estado de $ git
En rama maestro
Nada para comprometerse, Directorio de trabajo limpio
$ git rama -a
* maestro

Actualmente, tiene la siguiente situación:

Has hecho dos compromisos en la rama maestra.

Supongamos que has encontrado errores en tu prueba de juego, pero no quieres abordar el problema en la rama maestra porque aún no quieres meterte con el diseño original. Para que pueda crear una nueva rama llamada Bugfix:

$ git rama bugfix

Ahora si revisa todas las ramas:

$ git rama -a
arreglo del fallo
* maestro

Ahora ha creado una nueva rama llamada Bugfix. La situación se puede visualizar como esta:

Sin embargo, la estrella (*) al lado de la rama maestra significa que todavía estás en el maestro. Si realiza cambios, todavía irá a la rama maestra. Puede usar el comando de pago para cambiar ramas:

$ git checkout bugfix
Cambio a la rama 'Bugfix'

Puede verificar qué rama está utilizando con el estado o el comando "Branch -a":

Estado de $ git
En rama bugfix
Nada para comprometerse, Directorio de trabajo limpio
$ git rama -a
* arreglo del fallo
maestro

Ahora, solucionemos el error:

$ echo "corrección de errores 1" >> diseño.TXT
$ git add -a
$ git commit -m "c2: error corregido 1"

Has creado una situación como esta:

La rama maestra no tiene el cambio C2. Puede verificar esto fácilmente revisando la historia de las dos ramas.

Primero, la historia de la rama Bugfix:

Estado de $ git
En rama bugfix
Nada para comprometerse, Directorio de trabajo limpio
$ git log -enneline
E8F615B C2: Error arreglado 1
6A09BD6 C1: archivo de diseño modificado
5F18D89 C0: archivo de diseño agregado

Luego puede cambiar a la rama maestra y verificar su historial:

$ git checkout maestro
Cambio a la rama 'maestro'
Estado de $ git
En rama maestro
Nada para comprometerse, Directorio de trabajo limpio
$ git log -enneline
6A09BD6 C1: archivo de diseño modificado
5F18D89 C0: archivo de diseño agregado

Puede ver que la rama maestra no tiene los cambios de la rama de la fijación de errores.

Siempre puede crear una nueva rama de la rama actual en la que se encuentra en la que se encuentra. Supongamos que desea crear otra rama que contenga características experimentales. Puede crear la rama del maestro y agregarle características experimentales:

Estado de $ git
En rama maestro
Nada para comprometerse, Directorio de trabajo limpio
$ git rama experimental
$ git checkout experimental
Cambiado a la rama 'experimental'
Estado de $ git
En rama experimental
Nada para comprometerse, Directorio de trabajo limpio
$ echo "Agregar características del experimento" >> Diseño.TXT
$ git add -a
$ git commit -m "c3: características experimentales agregadas"
[Experimental 637bc20] C3: características experimentales adicionales
1 archivo cambiado, 1 inserción (+)

Si verifica la historia de su rama experimental, verá:

Estado de $ git
En rama experimental
Nada para comprometerse, Directorio de trabajo limpio
$ git log -enneline
637bc20 C3: características experimentales agregadas
6A09BD6 C1: archivo de diseño modificado
5F18D89 C0: archivo de diseño agregado

Notarás que no tienes el confirmación C2 que se creó en la rama de refixias. Debido a que la rama experimental se crea a partir de la rama maestra, no ve los cambios en la interrupción de los errores. Tienes la siguiente situación:

Conclusión

Felicidades! Has aprendido a ramificar.

Las ramas de git son fáciles y rápidas de hacer. Es una de las razones detrás de la popularidad de Git. Si desea convertirse en un usuario de GIT competente, debe ser competente en la ramificación GIT.

Estudio adicional:

https: // git-scm.com/book/en/v2/git-rama de ramificación básica