GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial avanzado de Git

Este artículo es la continuación de mi artículo existente Introducción a GIT en Linux. Si eres nuevo en Git, te recomendaría que primero revises mi artículo anterior y luego continúes con este.

En este artículo, cubriremos la creación de una rama, la etiqueta, el cambio de nombre de la rama y revertir las confirmaciones en Git.

  1. Sucursal :La ramificación ayuda a crear una nueva línea de desarrollo para evitar cualquier desorden en la rama principal.
  2. Etiqueta :una etiqueta en Git es una referencia al historial de Git.
  3. Cambiar el nombre de una rama : Cambiar el nombre de una sucursal significa cambiar el nombre de la sucursal existente y tener nuestro código existente en una sucursal con un nuevo nombre.
  4. Revertir una confirmación : Revertir ayuda a deshacer cambios en el repositorio local y remoto.

Requisitos previos

  1. Comprensión básica de Git (haga clic aquí para conocer los conceptos básicos de Git).

¿Qué haremos?

  1. Crear una rama.
  2. Fusionar una rama con la rama principal.
  3. Cree una etiqueta.
  4. Cambiar el nombre de una rama.
  5. Revertir una confirmación.

Crear una sucursal

Vaya a su repositorio local y simplemente verifique su rama y su estado usando los siguientes comandos antes de crear una nueva rama. Aquí, test-repo es mi nombre de repositorio.

pwd
git status
git log
git branch

Cree una nueva rama en su repositorio existente y regístrelo.

git branch
git branch my-feature-branch
git branch
git checkout my-feature-branch
git branch

Vamos a crear un nuevo archivo y enviarlo a la rama que creamos.

ll
touch new-file-in-my-feature-branch
git status
git add new-file-in-my-feature-branch
git commit -m "created a new file in my-feature-branch"
git push
git push --set-upstream origin my-feature-branch

Combinar una rama con la rama principal

Si queremos que nuestros cambios en la nueva rama se fusionen en la rama principal, podemos usar los siguientes comandos para fusionar esos cambios en la rama que queremos. Primero, debemos pagar en la rama principal y luego fusionar la rama que creamos.

ll
git branch
git checkout main
ll
git merge my-feature-branch
ll

Crear una etiqueta

Crear una etiqueta es tan simple como crear una rama. Primero, hagamos algunos cambios en el repositorio y luego creemos una etiqueta. Todavía tenemos que confirmar los cambios antes de enviarlos al repositorio remoto.

git tag
ll
touch new-file-for-tag
git status
git add new-file-for-tag
git tag -a mytag.v1 -m
git tag -a mytag.v1 -m "create a tag"
git tag
git log
git status
git commit -m "create a tag mytag.v1"
git push

Podemos verificar todas las etiquetas que tenemos y comprometernos con esas etiquetas. De la forma en que empujamos nuestra rama, también podemos empujar etiquetas.

git tag
git show mytag.v1
git push origin mytag.v1

De la misma forma en que pagamos en una sucursal, también podemos pagar en una etiqueta en particular.

git branch
git tag
git checkout mytag.v1
git branch

Vayamos a la sucursal principal antes de continuar.

git branch
git checkout main
git branch

Renombrar una sucursal

A veces puede sentir que necesita cambiar el nombre de su sucursal. Puedes hacerlo muy fácilmente usando los siguientes comandos.

git branch
git branch wrong-brach
git checkout wrong-brach
touch file-in-wrong-branch
git add file-in-wrong-branch
git commit -m "Created a branch wrong-brach with a new file"
git push
git push --set-upstream origin wrong-brach
git branch
git branch --move wrong-brach correct-branch
git branch
push --set-upstream origin correct-branch

Incluso puede eliminar la rama del repositorio remoto.

git branch
git branch -a
git push origin --delete  wrong-brach
git branch -a

Revertir una confirmación

En caso de que desee revertir su compromiso y aún conservar sus cambios localmente, puede usar los siguientes comandos para hacer un restablecimiento parcial.

git branch
git checkout main
git log
git reset --soft HEAD~1
git log

Puede ver que después de revertir la confirmación, sus cambios locales aún están disponibles.

git status
git pull
git log
git status

Si desea revertir su compromiso y no desea conservar sus cambios localmente, puede usar los siguientes comandos y hacer un restablecimiento completo

git log
git reset --hard HEAD~1
git status
git log

En este caso, puede ver que después de revertir su compromiso, no tiene sus cambios localmente

git status
git pull
git log

En los dos escenarios anteriores, vimos revertir las confirmaciones locales. A veces, es posible que deba revertir sus confirmaciones desde el repositorio remoto. Para hacerlo, debe enviar los cambios a la rama con "+" como sufijo del nombre de la rama después de revertir los cambios localmente.

git branch
git log
git reset --hard HEAD~1
git push +main
git push origin  +main

Puede ver que el repositorio remoto no contiene la confirmación que se ha revertido.

Conclusión

En este artículo, cubrimos escenarios como la creación de una rama y una etiqueta. Vimos cómo se puede cambiar el nombre de una sucursal si nos damos cuenta de que necesitamos cambiar el nombre de la sucursal existente. También vimos que las confirmaciones en el repositorio local, así como el repositorio remoto, se pueden revertir. Ahora puedes usar los comandos de este artículo y probarlos por tu cuenta.


Linux
  1. 6 opciones avanzadas de formato tcpdump

  2. Cómo crear etiquetas Git

  3. Cómo cambiar el nombre de Git Branch Local y Remote

  4. Compruebe si el repositorio local de git está delante/detrás del control remoto

  5. Agregar el repositorio de Git y la rama a la línea de estado de Tmux

Control de audio avanzado en Linux

Cómo eliminar una sucursal de Git de forma remota y local

Cómo crear, renombrar y eliminar ramas de Git

Tutorial paso a paso de secuencias de comandos de Shell

Cómo controlar versiones con Git en la línea de comando

Tutorial de Unix Sed:ejemplos avanzados de sustitución de Sed