Git
Esta es una guía diseñada para seguirse linealmente. Hacia el principio se explican conceptos más básicos, avanzando hacia el final se asume que comprendes esos conceptos y ya no se vuelven a explican. Además, la estructura permite que encuentres justo lo que estas buscando.
¿Qué es Git?
Es un Sistema de control de versiones:
Es Distribuido:
y usa Fotografías:
Utiliza un hash para confirmar la integridad de los datos e identificar un commit:
Existen otros tipos de sistemas de control de versiones:
Historia
Creado por Linus Torvalds para facilitar el desarrollo de Linux.
Instalación
Descarga la última versión para tu OS desde la página oficial Git.
Uso
Git es un programa para la terminal, sin embargo existen algunas opciones online como GitHub y otras con interfaz gráfica como GitKraken. Para usar Git siempre vas a necesitar 2 cosas básicas: un usuario y un email.
Usando git de forma local en la terminal
Todos los comandos de Git tienen el mismo nombre y funcionan igual en todos los OS. Los comandos más usados son:
- v - Versión de Git
- config - Configurar Git
- config user name - Configurar el usuario en Git
- config user mail - Configurar el email en Git
- init - Usar Git en un proyecto
- branch -m - Modificar el nombre de una rama en Git
- status - Ver el estado del control de versiones en Git
- add - Añadir ficheros a la fotografía en Git
- rm --cached - Sacar archivos de la fotografía en Git
- gitignore - Indicar a Git que ignore un archivo
- config alias - Crear alias en Git
- commit - Hacer una fotografía en Git
- log - Mostrar el registro de fotografías del proyecto en Git
- checkout - Moverse entre fotografías o archivos específicos en Git
- checkout tags - Moverse entre fotografías usando los tags en Git
- checkout HEAD - Definir la fotografía como la cabeza del proyecto en Git
- restore - Restaurar un archivo a la última versión en Git
- reset - Restaurar los cambios a una fotografía anterior en Git
- diff - Ver diferencias entre un commit y ahora en Git
- reflog - Ver todos los cambios del proyecto en el tiempo en Git
- tag - Añadir una etiqueta a una fotografía en Git
- branch - Crear y eliminar ramas en Git
- switch - Moverse entre ramas en Git
- merge - Fusionar la rama actual con otra rama en Git
- stash - Guardar los cambios de forma temporal en Git
- stash pop - Recuperar los cambios guardados temporalmente en Git
- stash drop - Elimina los cambios guardados de temporalmente en Git
Usando Git en la terminal con repositorios remotos:
- remote add origin - Conecta tu repositorio local con un servidor remoto en Git
- push -u origin - Asociar una rama remota con una rama local en Git
- push - Subir los cambios a una rama remota
- fetch - Descargar solo el historial de un repo remoto en Git
- pull - Descargar los cambios del repo remoto en Git
- config pull - Configurar el tipo de modificación de ficheros con pull en Git
- clone - Descargar un proyecto de un repo remoto en Git
- fork - Copiar un repo remoto a mi propio repo remoto
Usando Git con plataformas online
- GitHub. Se puede usar en todas las plataformas (web, móvil, desktop, CLI).
A mi me gusta GitHub CLI sin embargousa lo que a ti te sea más útil. - GitLab
Usando Git con Interfaz gráfica
- GitHub Desktop. Herramienta útil para entender los conceptos básicos, se queda corta con flujos más complicados. Es gratuita.
- GitKraken. Herramienta muy completa y preparada para flujos completos, útil para visualizar proyectos muy grandes. Es gratuita para repos públicos y de pago para repos privados.