GIT es un sistema de control de versiones, es decir; un sistema que registra los cambios en un archivo o conjunto de archivos a lo largo del tiempo, esto con el fin de que más adelante no sea un problema obtener versiones anteriores especificas del archivo.
Un proyecto GIT consta de tres secciones principales: el directorio de trabajo, el área de preparación y el directorio git.

Existe una gran variedad de comandos que puedes utilizar, dominar GIT requiere tiempo, pero ¡No te preocupes! algunos comandos se utilizan más frecuentemente (algunos hasta a diario varias veces) pero con este articulo aprenderás cuales son los más comunes y como deberías usarlo en tu día a día como desarrollador de software.
Sin más que agregar ¡Vamos a los comandos!
También podría interesarte: 30 comandos básicos de Linux que todo usuario debe saber
Comandos básicos de GIT:
GIT INIT: creará un nuevo repositorio local GIT. El siguiente comando de Git creará un repositorio en el directorio actual:
git initComo alternativa, puedes crear un repositorio dentro de un nuevo directorio especificando el nombre del proyecto:
git init [nombre del proyecto]GIT CLONE: se usa para copiar un repositorio. Si el repositorio está en un servidor remoto, usa:
git clone nombredeusuario@host:/path/to/repositoryA la inversa, ejecuta el siguiente comando básico para copiar un repositorio local:
git clone /path/to/repositoryGIT ADD: se usa para agregar archivos al área de preparación. Por ejemplo, el siguiente comando de Git básico indexará el archivo tecsify.txt:
git add <tecsify.txt>GIT COMMIT: creará una instantánea de los cambios y la guardará en el directorio git.
git commit –m “El mensaje que acompaña al commit va aquí”Debes tener en cuenta que los cambios confirmados no llegarán al repositorio remoto.
GIT CONFIG: puede ser usado para establecer una configuración específica de usuario, como el email, nombre de usuario y tipo de formato, etc. Por ejemplo, el siguiente comando se usa para establecer un email:
git config --global user.email [email protected]La opción -global le dice a GIT que vas a usar ese correo electrónico para todos los repositorios locales. Si quieres utilizar diferentes correos electrónicos para diferentes repositorios, usa el siguiente comando:
git config --local user.email [email protected]GIT STATUS: muestra la lista de los archivos que se han cambiado junto con los archivos que están por ser preparados o confirmados.
git statusGIT PUSH: se usa para enviar confirmaciones locales a la rama maestra del repositorio remoto. Aquí está la estructura básica del código:
git push origin <master>Reemplaza <master> con la rama en la que quieres enviar los cambios cuando no quieras enviarlos a la rama maestra.
GIT CHECKOUT: crea ramas y te ayuda a navegar entre ellas. Por ejemplo, el siguiente comando crea una nueva y automáticamente se cambia a ella:
command git checkout -b <branch-name>Para cambiar de una rama a otra, sólo usa:
git checkout <branch-name>GIT REMOTE: te permite ver todos los repositorios remotos. El siguiente comando listará todas las conexiones junto con sus URLs:
git remote -vPara conectar el repositorio local a un servidor remoto, usa este comando:
git remote add origin <host-or-remoteURL>Por otro lado, el siguiente comando borrará una conexión a un repositorio remoto especificado:
git remote <nombre-del-repositorio>GIT BRANCH: se usa para listar, crear o borrar ramas. Por ejemplo, si quieres listar todas las ramas presentes en el repositorio, el comando debería verse así:
git branch
Si quieres borrar una rama, usa:
git branch -d <branch-name>GIT PULL: fusiona todos los cambios que se han hecho en el repositorio remoto con el directorio de trabajo local.
git pullGIT MERGE: se usa para fusionar una rama con otra rama activa:
git merge <branch-name>GIT DIFF: se usa para hacer una lista de conflictos. Para poder ver conflictos con respecto al archivo base, usa:
git diff --base <file-name>El siguiente comando se usa para ver los conflictos que hay entre ramas antes de fusionarlas:
git diff <source-branch> <target-branch>Para ver una lista de todos los conflictos presentes usa:
git diffGIT TAG: marca commits específicos. Los desarrolladores lo usan para marcar puntos de lanzamiento como v1.0 y v2.0.
git tag 1.1.0 <instert-commitID-here>GIT LOG: se usa para ver el historial del repositorio listando ciertos detalles de la confirmación. Al ejecutar el comando se obtiene una salida como ésta:
commit 15f4b6c44b3c8344caasdac9e4be13246e21sadw
Author: Oscar Morales <[email protected]>
Date: Fri Oct 7 12:56:29 2022 -0600GIT RESET: sirve para resetear el index y el directorio de trabajo al último estado de confirmación.
git reset - -hard HEADGIT RM: se puede usar para remover archivos del index y del directorio de trabajo.
git rm tecsify.txtGIT STASH: guardará momentáneamente los cambios que no están listos para ser confirmados. De esta manera, pudes volver al proyecto más tarde.
git stashGIT SHOW: se usa para mostrar información sobre cualquier objeto git.
git showGIT FETCH: le permite al usuario buscar todos los objetos de un repositorio remoto que actualmente no se encuentran en el directorio de trabajo local.
git fetch originGIT GREP: le permite al usuario buscar frases y palabras específicas en los árboles de confirmación, el directorio de trabajo y en el área de preparación
git grep “www.tecsify.com”GITK: muestra la interfaz gráfica para un repositorio local. Simplemente ejecuta:
gitkGIT INSTAWEB: te permite explorar tu repositorio local en la interfaz GitWeb. Por ejemplo:
git instaweb –http=webrickGIT GC: limpiará archivos innecesarios y optimizará el repositorio local.
git gcGIT ARCHIVE: le permite al usuario crear archivos zip o tar que contengan los constituyentes de un solo árbol de repositorio. Por ejemplo:
git archive - -format=tar masterGIT PRUNE: elimina los objetos que no tengan ningún apuntador entrante.
git pruneGIT FSCK: realiza una comprobación de integridad del sistema de archivos git e identifica cualquier objeto corrupto
git fsckGIT REBASE: se usa para aplicar ciertos cambios de una rama en otra. Por ejemplo:
git rebase master








