40 comandos de git útiles para administradores y desarrolladores de Linux

Git es un potente rastreador de versiones que permite a los desarrolladores realizar un seguimiento de los cambios en su código fuente. Es una herramienta ampliamente utilizada por desarrolladores de código abierto. Aunque fue diseñado para coordinar tareas de programación, Git puede rastrear cualquier conjunto de archivos de manera efectiva. Además, está desarrollado por Linus Torvalds , el hombre detrás del propio kernel de Linux. Por lo tanto, si es un desarrollador de código abierto que agrega funciones a su software a lo largo del tiempo o está trabajando con varios pares para desarrollar productos empresariales de vanguardia, Git puede ser el sistema de seguimiento ideal para su trabajo. Quédese con nosotros para aprender algunos de los comandos fundamentales de git que simplificarán enormemente sus ciclos de desarrollo.

Comandos prácticos de git para desarrolladores de código abierto

La CLI de git ofrece una cantidad considerable de comandos de git para para los desarrolladores. Nuestros editores han descrito algunos de los comandos de este tipo más útiles para la conveniencia de nuestros lectores. Así que sigue leyendo y descúbrelos a tu propio ritmo.

1. Configurar el perfil de usuario

Puedes configurar tu perfil de git usando el comando git config. Lo mínimo que puede configurar es el nombre de usuario y la dirección de correo electrónico. Git permite a los usuarios configurar estas políticas de forma global o por proyecto. Utilice el siguiente comando para configurar el usuario y la dirección de correo electrónico para cada repositorio.

$ git config user.name "USERNAME"
$ git config user.email "[email protected]"

Agregue la opción –global para establecer estas políticas globalmente.

$ git config --global user.name "USERNAME"
$ git config --global user.email "[email protected]"

comandos git para configurar el perfil de usuario

2. Inicializar repositorios de Git

Un repositorio git o simplemente repositorio es el directorio raíz de sus proyectos de código abierto. Contiene los archivos fuente, subdirectorios de objetos, encabezados y etiquetas, entre otros. Puede inicializar fácilmente un repositorio de git con el siguiente comando.

$ git init

Es uno de los comandos de git más comunes que usarás en tu vida. Ahora puede comenzar a agregar sus archivos de origen y jugar con ellos como desee.

3. Agregar archivos de proyecto

Agregar archivos a proyectos existentes es muy fácil con git. Puede agregar fácilmente todos los archivos / directorios modificados al sistema de seguimiento usando el comando git add. Eche un vistazo rápido al siguiente ejemplo para ver cómo funciona.

$ git add file
$ git add *.php

Cuando emita el comando git add, agregará todos los archivos al índice del proyecto desde el directorio de trabajo actual. Puede especificar archivos particulares como se hizo en el primer ejemplo. El segundo ejemplo agregará todos los archivos PHP al índice. Git los marcará para la puesta en escena.

4. Verificar archivos agregados

Puede verificar los archivos que se almacenarán durante la próxima confirmación utilizando el comando git status. Mostrará todos los archivos nuevos o archivos que se han modificado.

$ git status

Ejecute el comando anterior siempre que desee ver los detalles. Mostrará una lista resumida de todos los archivos que se prepararán en la próxima confirmación.

5. Confirmar cambios en el repositorio

Cuando confirma sus cambios, git toma una instantánea de su base de código. Es la forma en que git realiza un seguimiento de sus cambios y proporciona control de versiones. Necesitará usar el comando git commit para esto.

$ git commit

Cuando ejecute el comando anterior, git le pedirá que ingrese cierta información, como agregar una descripción. Invocará el predeterminado que configuró durante la instalación de git. Utilice el siguiente comando para evitar esta indiscreción.

$ git commit -m "First Commit"

Por lo tanto, puede agregar la descripción directamente si usa la opción -m .

6. Mostrar los registros

Puede consultar los registros siempre que desee ver los cambios que ha realizado en su repositorio. Simplemente use el comando git log para hacer esto desde .

$ git log
$ git log --file

El primer ejemplo mostrará información generalizada sobre tus confirmaciones de git. Utilice el segundo comando si desea ver los cambios en un archivo específico solamente. También puede agregar muchas más opciones como la opción –log-size o incluso buscar confirmaciones usando expresiones regulares.

Confirmar y mostrar registros

7. Verificar las sucursales del proyecto

Una rama de git representa una línea de desarrollo independiente en su proyecto. Puede verificar su rama actual muy fácilmente usando el comando git branch. Mostrará la rama actualmente activa en la que está desarrollando nuevas funciones o modificando las antiguas.

$ git branch

La salida marcará la rama actual con un asterisco (*).

8. Restablecer sucursales del proyecto

Puede restablecer fácilmente el repositorio actual y el directorio de trabajo a un estado conocido. El comando git reset ajustará la referencia HEAD a una confirmación específica y actualizará el índice para que coincida con esta confirmación en particular.

$ git reset

Utilice el siguiente comando para realizar un restablecimiento parcial de su rama actual.

$ git reset --soft

También puede realizar un restablecimiento completo de manera similar. Simplemente reemplace –soft con la opción –hard , como se muestra en el siguiente ejemplo.

$ git reset --hard

9. Agregar una nueva sucursal

Agregar una nueva rama le permite trabajar en funciones más nuevas de forma independiente. Puede agregar fácilmente una rama usando el comando git branch. Simplemente agregue el nombre de la rama, como se muestra a continuación.

$ git branch new-feature

Verifique si la adición fue exitosa o no emitiendo el comando git branch. Debería mostrar la rama recién creada llamada nueva función . Sin embargo, no puede agregar más de una rama con el mismo nombre de rama. Causará un error fatal.

10. Cambiar entre ramas

Puede cambiar entre varias ramas de su proyecto muy fácilmente usando el comando de pago. Es uno de los comandos de git más utilizados que utilizará durante el desarrollo de software. Eche un vistazo rápido al siguiente ejemplo para ver cómo funciona.

$ git checkout new-feature

Este comando le notificará que la rama se ha cambiado correctamente. También puede verificar esto usando el comando git branch que se mostró anteriormente.

11. Eliminar una rama de proyecto

Cuando haya desarrollado nuevas funciones con éxito, querrá que se agreguen a la rama git master. Una vez hecho esto, puede ir y eliminar esa rama por completo. La opción -D del comando git nos permite hacer esto muy fácilmente.

$ git checkout master
$ git branch -D new-feature

Primero debe salir de la rama para eliminarla correctamente. De lo contrario, git arrojará un error.

12. Compruebe las diferencias entre confirmaciones, árboles y archivos

El comando git diff nos permite ver los cambios en dos archivos múltiples, el árbol de trabajo y el árbol de índices, entre confirmaciones y entre objetos blob. Es uno de los comandos de git más fundamentales que se utilizan para rastrear cambios en las bases de código.

$ git diff
$ git diff new-feature master

El primer ejemplo mostrará los cambios entre el árbol de trabajo y el árbol de índice. El segundo ejemplo mostrará los cambios entre la rama maestra y la rama de nueva función.

13. Fusionar dos ramas

Puede fusionar fácilmente dos ramas de desarrollo diferentes utilizando el comando git merge. Combinará dos ramas en una rama unificada. Puede usar el comando git merge para varios propósitos. Eche un vistazo al siguiente ejemplo para ver cómo podemos usarlos.

$ git merge fixes new-feature
$ git merge -s ours obsolete
$ git merge --no-commit main

El primer ejemplo fusiona dos nuevas funciones y arreglos para crear una sola rama. El segundo ejemplo se combinan la obsol] rama en la rama de desarrollo actual utilizando la nuestra estrategia. El ejemplo final fusiona la rama principal con la rama actual pero deshabilita la confirmación automática.

14. Revertir los compromisos existentes

A veces, puede decidir que algunas de sus confirmaciones ya no son necesarias. En tales casos, es mejor revertir estas confirmaciones que modificar la rama por completo. El comando git revert nos permite hacer exactamente esto.

$ git revert ad9ef37d88ad4gfyg90aa6a23f71e775982f4b
$ git revert HEAD~3

El primer ejemplo revertirá los cambios introducidos por el ID de confirmación f5ad9ef37d88ad4gfyg90aa6a23f71e775982f4b . El segundo ejemplo recae la cuarta última confirmación en HEAD y realiza una nueva confirmación.

15. Directorio de trabajo de Stash

Puede guardar el estado actual de su directorio de trabajo en algún lugar temporalmente y volver a él más tarde cuando lo desee. A esto se le llama escondite en terminología de git. Simplemente almacena el estado de su directorio de trabajo y el índice para que pueda trabajar en algo nuevo.

$ git stash

Los desarrolladores suelen utilizar este comando cuando se ven atrapados en una situación complicada. Les permite almacenar el flujo de trabajo desordenado y volver para resolverlo más tarde. Utilice el comando de lista de alijo para ver su lista de alijo.

$ git stash list

clonar repositorios git

16. Clonar un repositorio

Una de las mejores cosas del código abierto es que puedes trabajar en el código de otras personas como si fueran tuyos. Git facilita la descarga de un proyecto existente mediante el comando git clone. Eche un vistazo a la siguiente ilustración para ver cómo funciona esto en la vida real.

$ git clone <GIT:URL>
$ git clone git://example.com/git.git/ test-dir

Esto descargará dicho proyecto en el directorio test-dir de su sistema.

17. Obtenga nuevas actualizaciones

Los proyectos de la vida real están evolucionando todo el tiempo. Supongamos que clonó un repositorio anteriormente desde un repositorio remoto. ¿Qué hará cuando los desarrolladores actualicen nuevas funciones en ese repositorio? Es inconveniente clonar el mismo repositorio una y otra vez en su máquina local. El comando git pull te salva de esto.

$ git pull

Este comando actualizará la versión local de su proyecto con los nuevos cambios realizados por los colaboradores. Recuerde cambiar su directorio de trabajo al directorio del proyecto antes de extraer las últimas actualizaciones.

18. Envíe sus actualizaciones

Una vez que haya terminado de trabajar con sus actualizaciones, puede agregarlas al repositorio remoto presionando. La diferencia entre git push y git commit es que cuando realizas algunos cambios, se agregan a tu repositorio local en lugar de al repositorio remoto.

$ git push

Este comando agregará sus actualizaciones al repositorio remoto del proyecto. Por lo general, utilizará pull and push para colaborar con desarrolladores remotos. Por lo tanto, es importante que los domines a la perfección.

19. Mostrar repositorios remotos

El comando git remote nos permite administrar un conjunto de repositorios rastreados convenientemente desde . Puede usarlo para clonar solo algunas ramas seleccionadas.

$ git remote
$ git remote --verbose

El primer ejemplo mostrará todos los repositorios remotos que están configurados actualmente. Agregar la bandera –verbose nos muestra información detallada sobre esto.

20. Conectarse a repositorios remotos

Puede configurar repositorios remotos para que su repositorio local esté conectado a un servidor remoto. Al hacer esto, podrá enviar sus cambios locales al servidor remoto directamente. Eche un vistazo rápido a la siguiente ilustración para ver cómo funciona esto en la práctica.

$ git remote add origin <server>

El comando anterior agregará ‘origen’ como nombre remoto al servidor. Puede descubrir la URL del servidor explorando la subpestaña Fuente de su repositorio de GitHub.

21. Agregue etiquetas a su proyecto

Las etiquetas le permiten marcar eventos importantes en sus proyectos de código abierto. Los desarrolladores a menudo los usan para marcar nuevas recaídas o correcciones de errores. Eche un vistazo de cerca a los siguientes comandos de git para aprender cómo agregar etiquetas a sus proyectos usando git.

$ git tag 1.0.0 <commit-id>

Este comando agrega la etiqueta 1.0.0 a la confirmación específica. Puede tomar el commit-id usando el siguiente comando.

$ git log

Empuje la etiqueta a su repositorio remoto usando el siguiente comando.

$ git push origin --tags

Debe especificar la opción –tags explícitamente. De lo contrario, la etiqueta solo se agregará a su repositorio local, no al repositorio remoto.

22. Obtener datos remotos

Otro comando de git común que usarás a menudo es fetch. Es muy útil por varias razones. En primer lugar, fetch solo recupera nuevos datos / referencias, pero no los fusiona con su sucursal local. Por lo tanto, puede estar seguro de que la copia de trabajo de su repositorio local permanecerá sana y salva.

$ git fetch origin

Es una excelente manera de verificar el progreso reciente de una base de código remota sin romper su propia versión del proyecto. Una vez que esté seguro de que todos los datos nuevos están listos, simplemente combínelos con sus sucursales locales.

23. Restaurar cambios no confirmados

El comando git restore permite a los desarrolladores restaurar cualquier cambio no confirmado en sus proyectos. Estos son cambios que ha realizado en su versión de trabajo del proyecto o contenidos en su índice local. Puede usar este comando para revertir cambios en su copia de trabajo o cambios en el índice o para hacer ambas cosas.

$ git restore --staged test.php
$ git restore --source=HEAD --staged --worktree test.php

El primer comando restaurará el archivo test.php en el índice, y el segundo comando restaurará tanto el índice como el directorio de trabajo actual de su proyecto.

24. Eliminar archivos

A veces, es posible que desee eliminar algunos archivos de su árbol de trabajo o del índice del proyecto por completo. Puede usar el comando git rm para hacer esto. Sin embargo, este comando no eliminará los archivos especificados de su directorio de trabajo. Utilice el comando rm de Linux para hacer eso.

$ git rm *.php
$ git rm -r dir/
$ git rm --cached *.php

El primer comando elimina todos los archivos PHP del árbol de trabajo y del índice. El segundo comando elimina todo del directorio dir /. El último comando eliminará todos los archivos PHP solo del índice, no del árbol de trabajo.

25. Mover o cambiar el nombre de archivos

Puede mover o cambiar el nombre de los archivos usando git, tal como lo haría con . En realidad, es una abreviatura para desarrolladores ocupados incorporada directamente en git.

$ git mv test.py new-test.py

El comando anterior simplemente realiza las siguientes operaciones de Linux.

$ mv test.py new-test.py
$ git add new-test.py
$ rm test.py

Por lo tanto, puede usar el comando git mv para evitar escribir un montón de adicionales .

mover y renombrar archivos en git

26. Limpiar archivos sin seguimiento

Los archivos sin seguimiento son archivos que no están bajo el sistema de control de versiones de git. Te encontrarás con estos archivos con bastante frecuencia cuando trabajes en proyectos a gran escala. Puede eliminarlos utilizando varios métodos, incluidos git reset y git checkout. Sin embargo, usar el comando git clean es la forma más adecuada de hacer esto.

$ git clean
fatal: clean.requireForce defaults to true and neither -i, -n, nor -f given; refusing to clean

El comando anterior falló porque así es como se configura git en mi sistema. Puede solucionar este problema agregando la opción -n , -i o -f .

$ git clean -n

27. Optimice los repositorios locales

Uno de mis comandos git favoritos es gc. Se utiliza para la recolección de basura y lo ayudará a reducir el tamaño de sus repositorios locales. Debe usar este comando con frecuencia si está trabajando en proyectos extensos.

$ git gc

El comando git gc se ejecuta extremadamente rápido y limpia los archivos innecesarios que se encuentran en su repositorio local. Es uno de los mejores métodos de optimización por su rapidez y eficiencia. También puede utilizar la opción –aggressive para aumentar la optimización. Sin embargo, necesitará más tiempo para completarse.

28. Archivar repositorios locales

Puede archivar fácilmente sus repositorios locales utilizando el comando git archive. Permite a los desarrolladores almacenar su proyecto en un lugar seguro. Puede transferir este archivo a través de la red o puede almacenarlo en .

$ git archive --output=test --format=tar master

El comando anterior almacena el repositorio en un archivo tar llamado test. Puede omitir la opción –format si lo desea. En este caso, git intentará inferir el formato de archivo a partir de su nombre. Hay muchas más opciones disponibles para este comando.

29. Búsqueda de patrones

Cuando trabaje en proyectos grandes, a menudo necesitará buscar cosas diferentes. Afortunadamente, el comando git grep nos permite buscar patrones específicos en nuestros repositorios y facilita mucho el desarrollo. Funciona de manera muy similar a , con algunas características específicas de git.

$ git grep -iw 'import' master

Este comando muestra todas las líneas que contienen ‘importar’ en nuestra rama maestra. Busca sin distinción entre mayúsculas y minúsculas. El siguiente comando buscará el patrón dado en todas las confirmaciones y ramas.

$ git grep 'import' $(git rev-list --all)

Este es uno de los mejores comandos de git para dominar si está colaborando en proyectos a gran escala.

30. Administrar árboles de trabajo

Los desarrolladores pueden trabajar con múltiples árboles de trabajo en git. Esto es útil cuando revisa más de una rama de su proyecto. Consulte los siguientes comandos de git para ver cómo administrar árboles de trabajo en git.

$ git worktree list
$ git worktree add new-branch
$ git worktree remove new-branch
$ git worktree prune

Puede mostrar los árboles de trabajo actuales utilizando el primer comando. Utilice el segundo comando para agregar un nuevo “árbol de trabajo vinculado” y el tercer comando para eliminar ese árbol. El comando final le permite podar la información del árbol de trabajo.

31. Pode los objetos no rastreados

A veces, es posible que desee eliminar objetos que ya no están siendo rastreados por git. Git proporciona un comando simple para hacer esto. El comando git prune solo eliminará los objetos sin seguimiento de su base de datos de objetos, no las referencias en sí.

$ git prune --dry-run
$ git prune --verbose --progress

El primer comando no elimina nada y solo mostrará los objetos que poda eliminaría. El segundo comando proporciona un resultado detallado, así como un informe de progreso durante el período de eliminación. Puede usar los comandos de podar para optimizar sus repositorios junto con el comando git gc.

32. Empaque de objetos desempaquetados

En git, los paquetes son una colección de objetos comprimidos individualmente. Git aplica compresión delta en estos objetos y los almacena en un solo archivo. Se utilizan para reducir la carga en su o sistemas espejo. El comando git repack permite a los usuarios crear nuevos paquetes que consisten en objetos que no se encuentran dentro de los paquetes existentes.

$ git repack

Puede usar este comando junto con gic gc y git prune para optimizar sus repositorios de git.

contar objetos y volver a empaquetar

33. Lista de objetos desempaquetados

No debe volver a empaquetar sus objetos con mucha frecuencia a menos que haya demasiados objetos desempaquetados. El comando git count-objects es un método simple pero útil para ver la cantidad de objetos desempaquetados y cuánto espacio en disco consumen.

$ git count-objects

Use el comando anterior para determinar si es hora de un repack de git o no. Puede agregar el indicador –verbose para obtener información detallada y el indicador –leible por humanos para mostrar el tamaño de manera convencional.

34. Validar la base de datos de objetos

Git se desarrolló como un sistema de archivos en sus inicios. Tiene un comando útil llamado fsck, que actúa de manera muy similar al fsck de Unix. Puede utilizar este comando para verificar la conectividad y realizar comprobaciones de integridad para sus objetos.

$ git fsck

Al ejecutar el comando anterior, se mostrarán los objetos dañados que se encuentren en su base de datos de objetos. Es uno de los comandos de git más útiles para encontrar objetos perdidos o defectuosos.

35. Mostrar cambios para cada compromiso

El comando git whatchanged es otro de nuestros subcomandos git favoritos. Es una forma simple pero efectiva de ver los cambios que cada git commit individual introduce en nuestro proyecto.

$ git whatchanged

Este comando git mostrará información usando registros de confirmación y salida de diferencias. En general, es bastante similar en funcionamiento al comando git log.

36. Resumir la información del registro

También puede usar el comando git shortlog para ver historiales. La idea principal detrás de este comando es incluir la salida en los anuncios de lanzamiento. Eche un vistazo rápido al siguiente comando para ver cómo funciona.

$ git shortlog
$ git shortlog --email --summary

Si agrega la opción –email , se mostrarán los correos electrónicos de cada autor. La opción –summary suprimirá la salida habitual y solo mostrará el número de confirmaciones.

37. Administrar opciones de configuración

Hay una gran cantidad de opciones de configuración disponibles para git. Puede usar el comando git config para consultar, configurar o reemplazar varias opciones. Se pueden realizar cambios tanto en repositorios específicos como en la configuración global.

$ git config --list

El comando anterior enumerará todas las opciones de configuración establecidas actualmente en git. Puede agregar o eliminar nuevas opciones fácilmente. Siga la página de ayuda del subcomando config para aprender cómo realizar estas tareas.

$ git config --help

enumerar configuraciones de git

38. Consultar la ayuda de Git

La página de ayuda de git o cualquier otro comando de terminal de Linux proporciona información resumida de todas las opciones disponibles. Debería ser el primer lugar que debe visitar cuando tenga problemas con git. Eche un vistazo rápido a los siguientes comandos para aprender cómo invocar la página de ayuda de git.

$ git help
$ git --help

Por lo tanto, puede consultar la página de ayuda de git utilizando la opción –help de estilo Unix o el subcomando de ayuda integrado en git. Además, git también proporciona páginas de ayuda para subcomandos.

$ git <command> --help
$ git commit --help

39. Consulte la página del manual

La página del manual contiene información detallada sobre el sistema de control de versiones de git y todos sus subcomandos. Puede verlos siguiendo la siguiente sintaxis.

$ man git
$ man git commit

Por lo tanto, también puede ver los manuales de los subcomandos individuales como puede hacerlo con la página de ayuda.

40. Mostrar información sobre la versión

Puede usar el siguiente comando simple para ver qué versión de git está instalada en su sistema. Dado que git ha evolucionado en gran medida con el tiempo, existen diferencias significativas entre varias versiones de git.

$ git --version

Simplemente use el comando anterior para obtener la versión específica de git disponible en su máquina.

Pensamientos finales

Git ha consolidado su posición como el sistema de control de versiones de facto gracias a su diseño práctico y su conjunto de características diversas. Aunque existen excelentes alternativas como Mercurial y CVS, una gran cantidad de comandos prácticos de git lo hacen más versátil que sus competidores. Nuestros editores han hecho todo lo posible para esbozar los comandos más prácticos para usted. Con suerte, ha obtenido la información esencial que estaba buscando en esta guía. No dude en hacernos preguntas si tiene dudas con respecto a un comando en particular. Gracias por permanecer con nosotros a lo largo de esta extensa guía.

Leave a Comment

Your email address will not be published.