Git
Una máquina del tiempo para el código: cada cambio guardado, por quién y por qué.
Git es un programa que registra la historia de una carpeta de archivos. Cada vez que guardás un conjunto de cambios hacés un commit: una foto con un mensaje ("arreglo del login"), un autor y una fecha. Podés volver a cualquier foto, comparar dos, o ver quién cambió una línea y cuándo. Lo escribió Linus Torvalds en 2005 para manejar el kernel de Linux, y hoy se usa para casi todo el software.
Su segundo truco son las ramas (branches). Una rama es una línea de historia paralela: abrís una para probar algo nuevo, hacés commits tranquilo sin tocar la versión principal, y cuando funciona la mergeás de vuelta. Varias personas pueden trabajar en distintas ramas del mismo proyecto a la vez, y Git combina los resultados, avisando en las pocas líneas donde dos personas cambiaron lo mismo (un "conflicto").
Git en sí trabaja en tu máquina. GitHub, GitLab y Bitbucket son sitios que alojan una copia del repositorio para que un equipo lo comparta: git push manda tus commits para allá y git pull baja los de los demás. Un pull request en GitHub es una propuesta de mergear una rama, con una conversación de revisión adjunta. Casi todo el código abierto vive así.
Para quedarse
- Un commit es una foto más un mensaje; la historia es una cadena de commits.
- Las ramas permiten trabajar en paralelo; el merge junta el trabajo.
- Git es la herramienta; GitHub es un lugar donde alojar el repositorio.
clone,commit,push,pullymergeson los cinco comandos que más vas a escuchar.