En el artículo anterior hemos aprendido el flujo de trabajo básico de Git. En este artículo, nos centraremos en algunas funciones avanzadas, como acciones diversas del repositorio, bifurcación y etiquetado. Al igual que el artículo anterior, esta también es una guía práctica de Git.
Acciones varias del repositorio
Renombrar
Como el nombre sugiere, la operación de cambio de nombre indica a Git que el archivo rastreado se ha modificado. Para cambiar el nombre del archivo, ejecute el siguiente comando:
$ git mv README NEW-README
Ahora veamos el estado del repositorio:
$ git status -s R README -> NEW-README
En la letra de salida anterior R aparece antes de README, lo que indica que se ha cambiado el nombre del archivo. La siguiente columna muestra el nombre del archivo antiguo y el nuevo.
Mover
La operación de movimiento se utiliza para mover un archivo de una ubicación de directorio a otra. Para mover el archivo, ejecute el siguiente comando:
$ mkdir new-dir $ git mv README new-dir/
En este ejemplo, hemos creado un nuevo directorio y movido el archivo a ese directorio. Ahora veamos el estado del repositorio:
$ git status -s R README -> new-dir/README
La salida anterior muestra que el archivo se ha movido a un nuevo directorio.
Eliminar
Como sugiere el nombre, la operación de eliminación elimina el archivo/directorio de Git. Para eliminar el archivo, ejecute el siguiente comando:
$ git rm README
Ahora veamos el estado del repositorio:
$ git status -s D README
En la salida anterior, la letra D aparece antes del LÉAME, lo que indica que el archivo se eliminó del repositorio.
RESTABLECER
Esta operación restablece el HEAD actual al estado especificado. En Git, HEAD es el puntero de referencia que apunta a la última confirmación.
Entendamos esto con un ejemplo:
$ touch AUTHORS $ git add AUTHORS $ git status -s A AUTHORS
En el ejemplo anterior, hemos creado el archivo AUTORES y lo hemos agregado al conjunto de cambios. Ahora este archivo será parte de la próxima confirmación. El comando de reinicio de Git ajustará la referencia HEAD y eliminará el archivo del conjunto de cambios
$ git reset HEAD AUTHORS
Ahora, verifiquemos el estado del repositorio:
$ git status -s ?? AUTHORS
Como era de esperar, el resultado anterior muestra que el archivo se eliminó del conjunto de cambios, por lo tanto, ?? el símbolo aparece antes del nombre del archivo.
Trabajar con ramas
La sucursal en el sistema de control de versiones es una línea independiente de desarrollo. A diferencia de otros sistemas de control de versiones, la bifurcación es realmente ligera en Git. En esta sección, analizaremos varias funciones relacionadas con las sucursales.
Crear sucursal
Para crear una nueva rama, ejecute el siguiente comando:
$ git branch my-feature-branch
En el comando anterior, my-feature-branch es el nombre de la rama. Este comando creará una rama local.
Para crear una rama remota, ejecute el comando git push de la siguiente manera:
$ git push origin my-feature-branch
Rama de lista
Para listar una rama, ejecute el comando de rama sin ningún argumento.
$ git branch * master my-feature-branch
Por ejemplo, la salida anterior enumera las sucursales locales. El símbolo de asterisco representa la rama actual. En nuestro caso es rama maestra.
Para enumerar sucursales locales y remotas, ejecute el siguiente comando:
$ git branch -a * master my-feature-branch remotes/origin/HEAD -> origin/master remotes/origin/master
En la salida anterior, las ramas resaltadas en color rojo son ramas remotas.
Eliminar rama
Para eliminar la sucursal local, use la opción -d de la siguiente manera:
$ git branch -d my-feature-branch
Rama eliminada my-feature-branch (era 220bf4d).
Para eliminar una rama remota, ejecute el siguiente comando:
$ git push origin :my-feature-branch
Tenga en cuenta que hemos usado dos puntos (:) con el nombre de la rama que le indica a git que elimine la rama remota
Cambiar de sucursal
Para cambiar entre sucursales, ejecute el comando de pago de la siguiente manera:
$ git checkout my-feature-branch
Cambiado a la rama 'my-feature-branch'
Ahora veamos la rama actual:
$ git branch master * my-feature-branch
Sucursal de pago
Hasta ahora hemos usado un comando separado para crear y cambiar a una rama. Sin embargo, podemos lograr esto con un solo comando de la siguiente manera:
$ git checkout -b my-feature-branch
Cambiado a una nueva rama 'my-feature-branch'
Ahora veamos la rama actual:
$ git branch master * my-feature-branch
Restaurar árbol de trabajo
Git nos permite descartar cambios no confirmados. Podemos lograr esto usando el comando de pago. Entendamos esto con un ejemplo.
Primero modifique el archivo existente y verifique el estado del repositorio:
$ echo "Update README" >> README $ git status -s M README
Ahora, para descartar los cambios del archivo README, ejecute el siguiente comando:
$ git checkout -- README $ git status -s
Como era de esperar, nuestro árbol de trabajo está limpio, por lo que el último comando no muestra ningún resultado.
Combinar rama
Como su nombre indica, la operación de fusión aplica cambios de una rama a otra. Entendamos esto paso a paso.
Primero cree una nueva rama y confirme los cambios en esta rama:
$ git checkout -b my-feature-branch
Cambiado a una nueva rama 'my-feature-branch'
$ echo "Update README" >> README.md $ git add README.md $ git commit -m "Updated README" [my-feature-branch 42e28aa] Updated README 1 file changed, 1 insertion(+)
Pasemos a la rama principal y apliquemos los cambios a la rama principal
$ git checkout master
Cambiado a rama 'maestro'
Su sucursal está actualizada con 'origen/maestro'.
$ git merge my-feature-branch Updating 220bf4d..42e28aa Fast-forward README.md | 1 + 1 file changed, 1 insertion(+)
Ahora verifiquemos que los cambios se apliquen a la rama maestra:
$ git log -1 --oneline 42e28aa (HEAD -> master, my-feature-branch) Updated README
Trabajar con etiquetas
La etiqueta es un puntero de referencia a una confirmación particular en el historial de Git. A menudo, la etiqueta se usa para marcar la versión de lanzamiento del producto. En esta sección, analizaremos las operaciones básicas de las etiquetas, como crear, enumerar y eliminar
Crear etiqueta
Crear una etiqueta es realmente simple. Para crear una etiqueta, ejecute el siguiente comando:
$ git tag my-tag
El comando anterior creará una etiqueta con el nombre mi etiqueta. Para crear una etiqueta en el repositorio remoto, ejecute el comando push de la siguiente manera:
$ git push origin my-tag
Etiqueta de lista
Para enumerar la etiqueta, ejecute el comando de etiqueta Git sin ningún argumento de la siguiente manera:
$ git tag my-tag
Eliminar etiqueta
Para eliminar una etiqueta, ejecute el comando de etiqueta Git con el argumento -d de la siguiente manera:
$ git tag -d my-tag Deleted tag 'my-tag' (was 220bf4d)
Para eliminar la etiqueta del repositorio remoto, ejecute el siguiente comando:
$ git push origin :my-tag
Conclusión
En este artículo, hemos discutido algunas operaciones avanzadas de Git con un ejemplo. Después de consultar este tutorial, puede usar Git con fluidez en su proyecto. Si le gusta el artículo, comparta sus comentarios y opiniones.