En mi misión en launchX – Backend con mi Mission Commander Carlo Gilmar, tuve el placer de tomar un taller de Git, donde mi MC nos brindó como referencia y además es el autor.
Este taller me permitió realizar un acordeón de los comandos de Git, con el fin de tener una herramienta sencilla que pueda usar en mi día a día.
A continuación, les dejo el acordeón, esperando que les sea de utilidad.
Áreas de Git
- Working Directory
- Stage Area
- Local Repository
Comandos básicos de Git
Comando |
Descripción |
mkdir my_proyect |
Crear directorio |
git init |
Inicializador de repositorio básico, crea la carpeta. git |
git status |
Muestra el estado del working directory |
git add archivo archivo |
Agregar el archivo en Stage Area |
git add . |
Agrega todos los archivos faltantes que están en working Area a Stage Area |
git rm –cached archivo |
Elimina el archivo en el stage Area |
git checkout –archivo_en_stage |
Regresa un archivo del stage al working directory |
git commit -m “Descripcion” |
Agrega los archivos de stage area al local Repository |
git log |
Muestra el estado del Local Repository |
Comandos Prácticos
Comando |
Descripción |
git diff archivo |
Muestra las diferencias entre el estado de un archivo que ha sido modificado |
git checkuot – archivo_modificado |
Elimina los cambios del archivo modificado en el working directory |
git stash |
Guarda en una pila los cambios encontrados en working directory, al correr déspues git status, te dirá que no hay modificación |
git stash pop |
Regresa los archivos guardados temporalmente en la pila hacia working directory |
git reset |
Te permite deshacer commits previamente hechos |
git reset HEAD~1 |
Se refiere a eliminar el ultimo commint realizado HEAD~n n=número de commits |
git reset –hard HEAD~1 |
Se descartan todos los cambios |
git commit –amend -m “reescribir” |
Reescribe el nombre del último commit realizado |
git restore –staged files |
Regresa los cambios del comando git add |
Manipulación de un repositorio
Comando |
Descripción |
git log –pretty=oneline |
Ver los commits |
git checkout no.commit |
Regresar a un commit especifico (ir al pasado) |
git checkout master |
Regresar al último commit realizado (presente) |
git log –grep=“palabras-a-buscar-en-log” |
Búsqueda especifica por palabra en el log |
git log -p |
Ver commits y contenidos de cada uno |
git show hash-del-commit |
Ver el contenido de un commit en específico, agregando el hash |
git blame archvio |
Muestra los commits que se realizaron en un archivo en especifico |
Repositorio remoto a repositorio local y viceversa
Comando |
Descripción |
git remote add origin url-del-repositotio-remoto |
Copiar la url o https del repositorio remoto en el proyecto local, dándolo de alta |
git remote - v |
Comprueba la url donde se encuentra el repositorio remoto |
git push origin main |
Enviar los cambios del repositorio local al remoto por medio de la branch |
git pull origin master |
Enviar los cambios del repositorio remoto al local por medio de la branch |
git fetch |
Actualiza el repositorio local con la información del repositorio remoto (tags y branchs) |
git clone |
Sincronizar el repositorio remoto al repositorio local, para empezar, operarlo desde local |
Submodulos
Comando |
Descripción |
git submodule add url-del-repositorio-remoto nombre-de-la-carpeta-en-que-se-descargará |
Un repositorio de git puede tener referencias a otros repositorios, esto es común cuando se necesita enlazar a varios proyectos en uno solo |
Branches
Comando |
Descripción |
git rev-parse –abbrev-ref HEAD |
Saber en cual branch estas |
git branch |
Listar las branches que se tienen en local |
git branch -a |
Listar todos los branchas incluyendo los remotos |
git branch nombre-de-branch |
Crear un branch nuevo |
git branch -D nombre-de-branch |
Borrar un branch |
git checkout nombre-de-branch |
Posicionarse en un branch existente |
git checkuot -b nombre-del-branch-nuevo |
Crear y posicionarse en un nuevo branch |
git merge branch-a-mezclar |
Unir los cambios del branch donde te encuentras hacia la especificada en el comando |
Referencia
Saludos y agredecimientos a Carlo Gilmar por su aportación y ser un excelente mentor.