Comandos básicos
Estos son los comandos fundamentales de Git que te permitirán iniciar, gestionar, y controlar versiones de un proyecto. Cada uno de estos comandos cumple una función específica para ayudarte a interactuar con tu repositorio y manejar los cambios que realizas en tu proyecto.
1. git init: Crear un nuevo repositorio #
El comando git init es el punto de partida para crear un nuevo repositorio de Git. Este comando convierte un directorio ordinario en un repositorio de Git, permitiendo a Git empezar a rastrear y gestionar los cambios en los archivos.
-
Uso:
1git init -b main -
Qué hace:
- Crea un subdirectorio oculto llamado
.git, que contiene toda la información de control de versiones necesaria. - A partir de este momento, puedes comenzar a rastrear archivos en este directorio.
- Crea un subdirectorio oculto llamado
-
Ejemplo: Si tienes un proyecto en una carpeta llamada
mi-proyectoy quieres que Git rastree los cambios, navega al directorio del proyecto y ejecuta:1cd mi-proyecto 2git init -b mainAhora,
mi-proyectoes un repositorio de Git y su primera rama se llamarámain. En instalaciones antiguas que no admitan-b, usagit inity renombra la rama antes del primer push congit branch -M main.
2. git clone: Clonar un repositorio remoto #
El comando git clone se utiliza para crear una copia local de un repositorio que se encuentra en un servidor remoto (por ejemplo, en GitHub o GitLab). Este comando no solo descarga todos los archivos del proyecto, sino que también clona todo el historial de commits y ramas.
-
Uso:
1git clone <url-del-repositorio> -
Qué hace:
- Descarga el repositorio completo, incluyendo el historial de commits, ramas, etiquetas, etc.
- Crea un directorio con el nombre del repositorio clonado y coloca allí todos los archivos.
-
Ejemplo: Si deseas clonar un repositorio de GitHub, usa el siguiente comando:
1git clone https://github.com/usuario/proyecto.gitEsto creará una carpeta
proyectocon todos los archivos y el historial de cambios.
3. git add: Agregar archivos al área de preparación #
El comando git add se usa para mover archivos desde el Working Directory al Staging Area, preparando los archivos para el próximo commit. Solo los archivos que se encuentran en el área de stage serán incluidos en el commit.
-
Uso:
1git add <archivo> -
Qué hace:
- Añade el archivo o archivos especificados al Staging Area.
- Si quieres añadir todos los archivos modificados, puedes usar:
1git add .
-
Ejemplo: Para añadir un archivo llamado
index.htmlal área de stage:1git add index.htmlSi deseas añadir todos los archivos nuevos y modificados del directorio actual:
1git add .git add .incorpora todos los cambios bajo el directorio actual; antes de confirmar, revisa el resultado congit statuso añade rutas concretas cuando el cambio sea delicado.
4. git commit: Guardar cambios en el repositorio #
El comando git commit se utiliza para tomar una instantánea de los archivos que están en el área de stage y guardarlos en el repositorio. Es el paso donde se confirma qué cambios se registrarán en el historial de Git.
-
Uso:
1git commit -m "Mensaje descriptivo del commit" -
Qué hace:
- Crea un nuevo commit que incluye los cambios en los archivos que están en el Staging Area.
- El mensaje que proporcionas describe los cambios que se han realizado, lo cual es útil para mantener un historial claro.
-
Ejemplo: Después de añadir archivos al área de stage, realiza un commit con un mensaje:
1git commit -m "Añadir página de inicio"Esto confirmará los cambios en el repositorio con el mensaje descriptivo.
5. git status: Ver estado de los archivos #
El comando git status muestra el estado actual de los archivos en tu proyecto. Te indica si hay archivos nuevos, modificados o que están listos para ser commiteados, así como los archivos que están en el área de stage o que aún no están rastreados.
-
Uso:
1git status -
O en formato compacto:
1git status -s -
Qué hace:
- Muestra una lista de archivos en los distintos estados: untracked, modified, y staged.
- Informa si hay cambios que no han sido añadidos al área de stage o que están listos para ser commiteados.
-
Ejemplo: Si acabas de modificar algunos archivos en tu proyecto y quieres saber su estado actual:
1git statusVerás algo como:
On branch main Changes not staged for commit: modified: index.html Untracked files: script.js
6. git log: Ver historial de commits #
El comando git log permite ver el historial de commits en tu repositorio. Muestra cada commit con su identificador único (hash), el autor, la fecha, y el mensaje de commit.
-
Uso:
1git log -
Vistas avanzadas recomendadas en Git moderno:
- Resumen gráfico compacto de todas las ramas:
1git log --oneline --graph --all - Ver estadísticas de archivos cambiados:
1git log --stat -3
- Resumen gráfico compacto de todas las ramas:
-
Qué hace:
- Muestra el historial de commits del repositorio.
- Para limitar el número de commits que ves, puedes usar
git log -ndondenes el número de commits que quieres ver:1git log -3
-
Ejemplo: Si deseas ver el historial completo de commits:
1git logVerás algo como esto:
commit d4f5a5bcf6f9396a8ad5c0f2d24f82e6a26f8e1b Author: Juan Perez <juan@example.com> Date: Mon Oct 4 10:15:42 2024 -0500 Añadir archivo index.html commit f5d4a5bc1234567e4ad5c0f2222f9996e6a26f7b Author: Maria Gomez <maria@example.com> Date: Sun Oct 3 09:12:35 2024 -0500 Crear estructura inicial del proyecto
7. git diff: Ver diferencias entre versiones #
El comando git diff te permite ver las diferencias entre el estado actual de los archivos y los commits anteriores. Es útil para revisar qué cambios has hecho antes de hacer un commit.
-
Uso:
1git diff -
Qué hace:
- Muestra las diferencias entre el Working Directory y el Staging Area.
- Para ver lo que ya está en Staging Area frente al último commit:
git diff --staged. - También puedes usarlo para ver las diferencias entre commits específicos, ramas o versiones.
-
Ejemplo: Si has hecho algunos cambios en un archivo y quieres ver exactamente qué ha cambiado:
1git diffEsto te mostrará las líneas que has añadido o modificado en los archivos.
Para ver las diferencias entre dos commits específicos:
1git diff commit1 commit2Donde
commit1ycommit2son los hashes de los commits entre los cuales quieres ver las diferencias.
Resumen del tema
Conceptos clave #
- Inicialización y Clonado:
git init -b main: crea un nuevo repositorio local inicializando la carpeta.git.git clone <url>: descarga un repositorio remoto completo con todas sus ramas e historial.
- Flujo de Trabajo Diario:
git status: inspecciona el estado de los archivos en Working Directory y Staging Area.git add <archivo>/git add .: transfiere cambios modificados o untracked al Staging Area.git commit -m "mensaje": registra una instantánea permanente e inmutable en el repositorio local.
- Inspección y Comparación:
git diff: compara las diferencias entre el Working Directory y el Staging Area (o commits congit diff <c1> <c2>).git log: visualiza el historial cronológico de commits (autor, fecha, hash SHA y mensaje).
Qué debes recordar #
El ciclo cotidiano esencial en la terminal se resume en: git status para comprobar, git add para preparar, git commit -m para guardar y git log/git diff para auditar.