Guía esencial de Git y GitHub
Esta guía te introduce a los fundamentos de Git y GitHub, desde la instalación hasta la gestión avanzada de proyectos. Ideal tanto para principiantes como para quienes buscan perfeccionar sus habilidades en control de versiones.
Git es un sistema de control de versiones (SCV) esencial para rastrear cambios en el código, colaborar en equipo y experimentar con nuevas ideas mediante ramas. Plataformas como GitHub potencian esta colaboración al hospedar repositorios y facilitar el intercambio de código.
¿Cómo funciona Git?
Git organiza los proyectos en tres áreas principales: - Directorio de trabajo: Donde editas tus archivos. - Área de preparación (staging): Donde preparas los cambios antes de confirmarlos. - Directorio Git: Almacena las instantáneas confirmadas de tu proyecto.
Disponible en Linux, Windows y macOS, Git tiene una curva de aprendizaje inicial, pero su dominio abre un mundo de posibilidades para gestionar proyectos eficientemente.
Comandos básicos de Git
Aquí tienes los comandos fundamentales para empezar:
git init
: Inicia un nuevo repositorio en el directorio actual.git clone [url]
: Copia un repositorio existente a tu máquina.git add [file]
: Añade un archivo al área de preparación.git commit -m "mensaje"
: Guarda los cambios con un mensaje descriptivo.git status
: Muestra el estado actual del repositorio.git log
: Lista el historial de commits.git diff
: Compara cambios no confirmados con el último commit.git branch
: Muestra las ramas existentes.git checkout [branch]
: Cambia a una rama específica.git merge [branch]
: Fusiona una rama con la actual.git config --global user.name "tu-nombre"
: Configura tu nombre de usuario.git config --global user.email "tu-email@example.com"
: Configura tu correo.
Instalación de Git en Ubuntu
Método 1: Paquetes predeterminados (rápido y estable)
Verifica si Git está instalado:
Ejemplo de salida:
git version 2.34.1
Si no está instalado, actualiza e instala con APT:
Configura tu identidad:
Verifica la configuración:
Método 2: Desde la fuente (versión más reciente)
Instala las dependencias:
Descarga y descomprime la versión deseada (ejemplo: 2.34.1):
Compila e instala:
Confirma la instalación:
Configuración de claves SSH para GitHub
Generar una clave SSH
Verifica claves existentes:
Si no hay claves, crea el directorio:
mkdir ~/.ssh
.Genera un par de claves:
Acepta el nombre predeterminado y añade una contraseña (opcional).
Añadir la clave a ssh-agent
Inicia el agente:
Añade la clave privada:
Vincular la clave a GitHub
Copia la clave pública:
- Linux/Mac:
cat ~/.ssh/id_rsa.pub
- Windows:
clip < ~/.ssh/id_rsa.pub
- Linux/Mac:
En GitHub, ve a Settings > SSH and GPG keys > New SSH key, pega la clave y guárdala.
Prueba la conexión:
Resultado esperado:
Hi tu_usuario! You've successfully authenticated...
Crear un repositorio local
Inicia un repositorio:
Añade archivos y haz un commit:
Clonar un repositorio
Clonación básica
Clona un repositorio remoto:
Clonación en carpeta específica
Clonación superficial
Solo las últimas n confirmaciones:
Clonar una rama específica
Subir un proyecto a GitHub
Crea un repositorio en GitHub (público o privado).
En tu proyecto local:
Si aparece el error remote origin already exists:
Luego repite el paso 2.
Observar el repositorio
git status
: Muestra el estado actual.git diff
: Compara cambios no confirmados.git log
git log --graph
git log --graph --pretty=oneline
git log --graph --decorate --all --oneline
git config --global alias.tree "log --graph --decorate --all --oneline"
git tree
git log --oneline
: Historial compacto. Ejemplo:git blame [archivo]
: Autores y fechas de cambios.touch .gitignore
Trabajar con ramas
- Crea y cambia a una rama:
Navegando en ramas - git checkout holagit.py
- git log
- git checkout 707c7f864de5e036c54b43df5a1bfa464fb4d9ba
- git tree
- git checkout 380beab
Creando ramas
git branch login
git switch login
Fusiona ramas:
git switch login
git merge main
git tree
correccion de conflicto
git merge main
- conflicto tal vez por que se modifico la mimsa linea en distintos branch
- corregir el error
git add archivo_conflicto.py
git commit -m "correccion conflicto"
- Reset
git tree
git reset --hard af18c2a
git log
git reflog
log completogit checkout 380beab
Etiqueta un commit: (Para versiones)
git tag clase_1
git log
ogit tree
git tag
Listado de tagsgit checkout tags/clase_1
Guardar temporalmente un trabajo no terminado
git status
git switch main
git stash
git stash list git switch main Hago los cambios git switch login
git stash pop git add . git commit -m “Login v2”
git stash drop
Comparar archivos o rmas
git diff login
Sincronización
git fetch origin
: Descarga cambios remotos sin fusionarlos.git pull origin main
: Descarga y fusiona cambios.git push origin main
: Envía cambios locales al remoto.
Conclusión
Dominar Git y GitHub es clave para gestionar proyectos de desarrollo. Practica estos comandos y consulta git --help
para más detalles.
Publicaciones Similares
Si te interesó este artículo, te recomendamos que explores otros blogs y recursos relacionados que pueden ampliar tus conocimientos. Aquí te dejo algunas sugerencias:
- Comandos De Informacion Windows
- Adb
- Limpieza Y Optimizacion De Pc
- Usando Apk En Windown 11
- Gestionar Versiones De Jdk En Kubuntu
- Instalar Tor Browser
- Crear Enlaces Duros O Hard Link En Linux
- Comandos Vim
- Guia De Git Y Github
- 00 Primeros Pasos En Linux
- 01 Introduccion Linux
- 02 Distribuciones Linux
- 03 Instalacion Linux
- 04 Administracion Particiones Volumenes
- Atajos De Teclado Y Comandos Para Usar Vim
- Instalando Specitify
Esperamos que encuentres estas publicaciones igualmente interesantes y útiles. ¡Disfruta de la lectura!