Entendiendo Git
Comandos Básicos
1. Git Clone
¿Qué es?
El comando git clone se utiliza para crear una copia local de un repositorio remoto.
Sintaxis
git clone [URL del repositorio]
Ejemplo
git clone https://github.com/usuario/repo.git
Resultado
- Crea una carpeta con el nombre del repositorio y descarga todos los archivos y el historial de commits.
2. Git Checkout
¿Qué es?
El comando git checkout se usa para cambiar de rama o restaurar archivos.
Sintaxis
git checkout [nombre-de-la-rama]
Creando una nueva rama
Para crear y cambiar a una nueva rama al mismo tiempo, usa:
git checkout -b [nombre-de-la-nueva-rama]
Ejemplo
git checkout -b nueva-funcionalidad
3. Git Pull
¿Qué es?
El comando git pull se utiliza para actualizar tu repositorio local con los cambios del repositorio remoto.
Sintaxis
git pull
Ejemplo
git pull origin main
Resultado
- Descarga y fusiona los cambios del repositorio remoto en la rama actual.
4. Git Add
¿Qué es?
El comando git add se usa para agregar cambios al índice (área de staging) antes de un commit.
Sintaxis
- Para agregar todos los archivos:
git add . - Para agregar archivos específicos:
git add [nombre-del-archivo]
Ejemplo
git add archivo1.txt
5. Git Commit
¿Qué es?
El comando git commit se utiliza para guardar los cambios en el repositorio local.
Sintaxis
git commit
Variaciones
- Para agregar todos los cambios y hacer el commit:
git commit -a - Para hacer un commit con un mensaje:
git commit -m "Mensaje del commit"
Ejemplo
git commit -m "Agrega nueva funcionalidad"
6. Usando Vim para el Commit
¿Qué es?
Si usas solo git commit, se abrirá el editor Vim para que edites el mensaje del commit.
Cómo usar Vim
- Entrar en modo de edición:
- Presiona
ipara entrar en modo de inserción. - Guardar y salir:
- Presiona
Esc, escribe:xy presionaEnter.
Consejo
- Usar
-mevita que se abra Vim y te permite escribir el mensaje directamente.
7. Git Merge
¿Qué es?
El comando git merge se usa para combinar cambios de diferentes ramas.
Sintaxis
git merge [nombre-de-la-rama]
Ejemplo
- Cambia a la rama donde deseas fusionar los cambios:
git checkout main - Ejecuta el merge:
git merge nueva-funcionalidad
Resultado
- Los cambios de la rama especificada se fusionarán en la rama actual.
8. Git Reset
¿Qué es?
El comando git reset se utiliza para deshacer cambios en el área de staging y, opcionalmente, en los commits.
Variaciones
git reset: Elimina los cambios del área de staging, pero mantiene los cambios en tu copia local.
Uso:
git reset
git reset --soft [commit]: Mueve el HEAD al commit especificado y mantiene los cambios en el área de staging, permitiéndote hacer un nuevo commit.
Uso:
git reset --soft HEAD~1
git reset --hard [commit]: Mueve el HEAD y descarta todos los cambios en el área de staging y en el directorio de trabajo (working directory), eliminando permanentemente los cambios no confirmados.
Uso:
git reset --hard HEAD~1
9. ¿Qué es el HEAD en Git?
El HEAD es un puntero especial en Git que apunta al commit más reciente en la rama actual en la que estás trabajando. En otras palabras, representa el estado más reciente de tu repositorio local en la rama activa.
Funciones del HEAD
-
Identificación de la Rama Activa: El HEAD indica qué rama estás utilizando actualmente. Cuando haces un checkout a una nueva rama, el HEAD se actualiza para apuntar al último commit de esa nueva rama.
-
Registro del Último Commit: El HEAD apunta al último commit en la rama activa, permitiéndote realizar operaciones como
git commit,git mergeygit resetbasadas en el estado actual. -
Referencia para Navegación: El HEAD también se puede usar para navegar entre commits. Por ejemplo, puedes referenciar el commit anterior usando
HEAD~1, o el commit más reciente en una rama diferente.
Importancia del HEAD
El HEAD es fundamental para el funcionamiento de Git, ya que ayuda a mantener el control del flujo de trabajo y de los cambios en el repositorio. Entender cómo opera el HEAD es esencial para manipular ramas y commits de forma eficaz.
10. Resumen de Comandos
| Comando | Descripción | |