- ¿Qué es Git
En el desarrollo diario, los comandos de Git son utilizados con frecuencia. Antes de aprender los comandos de Git, primero expliquemos la diferencia entre un repositorio remoto y uno local: el repositorio remoto es un repositorio en un servidor remoto donde todos colaboran en el desarrollo; el repositorio local es el repositorio en tu máquina local. Después de desarrollar y depurar el programa localmente, necesitas subirlo al repositorio público remoto. En resumen, la serie de comandos de Git son instrucciones para operar con repositorios. A continuación, presentamos los comandos más utilizados de Git:
Clonar una rama específica
git clone -b <nombre_rama> <url_repositorio>
Ver la rama actual (ramas locales)
git branch
Ver todas las ramas locales y remotas
git branch -a
Cambiar de rama (puedes clonar sin -b y luego hacer checkout)
git checkout <nombre_rama>
- Subir código al repositorio
Después de desarrollar y depurar el programa localmente, ¿cómo subir el código al repositorio remoto? Los pasos son los siguientes:
Ver el estado actual
git status
Enviar archivos al área de staging local
git add . o git add <archivo_especifico>
Enviar archivos al repositorio local
git commit -m "mensaje_commit"
Obtener actualizaciones de una rama remota y fusionar con una rama local
git pull <nombre_remoto> <rama_remota>
Ejemplo: git pull origin release/v2.1.5
Nota: También puedes hacer git checkout release/v2.1.5 y luego git pull
Enviar el código del repositorio local a una rama remota específica
git push <nombre_remoto> <rama_remota>
Ejemplo: git push origin release/v2.1.5
Nota: También puedes hacer git checkout release/v2.1.5 y luego git push
- Futionar ramas a la rama principal
Por ejemplo, después de que la rama de desarrollo (dev) pase las pruebas, necesitamos fusionarla en la rama principal (master) para su implementación en producción; fusionar una rama en otra sigue el mismo proceso
Primero, cambia de la rama de desarrollo a la rama principal usando el comando checkout
git checkout master
Si hay varios desarrolladores, necesitas descargar el código de la rama master remota
git pull origin master o git pull
Nota: Si trabajas solo, no es necesario, pero por seguridad es recomendable hacer el pull
Luego, fusionamos el código de la rama de desarrolllo en la rama principal
git merge dev
Nota: Si hay conflictos, resuélvelos manualmente.
Verifica el estado y ejecuta el comando de envío
git status
git push origin master o git push
- Crear una nueva rama
Para la gestión de versiones del código, necesitamos crear nuevas ramas
Método 1: Usar el comando git branch para crear una rama y luego git checkout para cambiar a ella
git branch <nombre_rama> # Crear nueva rama
git checkout <nombre_rama> # Cambiar a la nueva rama
Método 2: Usar la opción -b del comando git checkout para crear y cambiar directamente a una nueva rama
git checkout -b <nombre_rama> # Crear y cambiar a la nueva rama
Enviar la nueva rama al repositorio remoto y asociarla con la rama local
git push --set-upstream origin <nombre_rama> # Al enviar la rama, se asocia con la rama remota, permitiendo usar git pull y git push sin especificar la rama
O: En dos pasos
git push origin <nombre_rama> # Enviar la rama al repositorio remoto
git branch --set-upstream-to=origin/<nombre_rama> <nombre_rama> # Primero el nombre de la rama remota, luego el de la rama local, para asociarlas
- Descartar todos los cambios locales (archivos nuevos, eliminados, modificados)
A veces, no queremos los cambios locales que hemos hecho, pero queremos descargar nuevo código del repositorio. En este caso, git pedirá que primero enviemos los cambios locales antes de hacer pull. Una solución simple pero drástica es eliminar el repositorio local y hacer git clone de nuevo. Sin embargo, esto no es elegante. A continuación, presentamos un comando que nos ayuda a descartar los cambios de forma elegante:
git checkout . # Todos los cambios locales no enviados vuelven a su estado anterior
- Eliminar una rama del repositorio remoto
A veces creamos una rama con un nombre incorrecto, o la rama ya no es necesaria y queremos eliminarla. Podemos usar los siguientes comandos para eliminar una rama remota:
git branch -a # Ver todas las ramas
git branch -d dev # Primero eliminar la rama local
git push origin --delete dev # Eliminar la rama del repositorio remoto