Esta guía resume algunos de los aspectos básicos de Git,
para facilitar el aprendizaje de esta herramienta.
Ahora bien, el método de este documento es simple:
entregar enlaces hacia obras de excelente calidad.
Por lo tanto, esta guía tiene el modesto propósito
de ofrecer un compendio actualizado de recursos.
Espero, entonces, que esta metaguía sea provechosa para tu estudio de Git.
:grinning:
Git —que, por cierto, se pronuncia como /guit/— es definido generalmente como…
✨ un flamante sistema distribuido de código abierto para el control de versiones ✨
Ahora, al reescribir esto en términos más simples*,
Git permite rastrear cambios en archivos computacionales,
siendo, entonces, una herramienta de muchísima utilidad;
sobre todo, en la disciplina del desarrollo de software.
Además, por su versatilidad, performance y seguridad,
Git es utilizado por cientos de miles de organizaciones,
tanto en importantes proyectos de código abierto
como en reconocidos softwares comerciales.
Aquí expondré una lista —en ningún caso exhaustiva—
de múltiples ventajas relacionadas al uso de Git.
Y si bien algunas de ellas toman protagonismo
cuando desarrollamos un proyecto en equipo,
es importante destacar que la mayoría de ellas
también se aplican en solitario.
💡 Además, para practicar, es una buena idea usar Git en proyectos personales.
Esta herramienta nos permite
- llevar un registro de múltiples versiones de un archivo,
- trabajar con otros desarrolladores en un mismo proyecto,
- ver cuánto ha aportado cada uno: quién, en qué y cuándo,
- experimentar, sin temor, con alguna nueva funcionalidad,
- revisar el historial de cierto fragmento de código,
- rastrear bugs, para saber qué (carajo) fue lo que rompió el software.
En otras palabras, Git sirve para inspeccionar qué cambios fueron hechos;
y quién, cuándo y por qué los realizó.
Y si ya estás familiarizado con algunos comandos básicos (e.g.
clone,
status,
add,
commit,
push,
pull),
quiero enfatizar que Git, gracias a su notable flexibilidad,
nos puede entregar mucho más que eso.
No espero reinventar la rueda en este tema:
hay cientos de tutoriales dando vueltas por las interwebs.
Pero mira, aquí tienes el podio con los tres mejores**,
ordenados de menor a mayor profundidad.
-
🥉 Try Git
El (clásico) tutorial interactivo de Git, creado por Code School.
No debería tomar más de una hora, siendo un buen punto de inicio. -
🥈 Ry’s Git Tutorial
Un excelente tutorial redactado desde un punto de vista práctico.
Además, las explicaciones están acompañadas de ilustrativos diagramas.
(Nota: el enlace ya no funciona, pero es posible encontrarlo acá.) -
🥇 Pro Git
Espera, ¿quieres saber todavía más? 🤓
Aquí tienes el libro oficial para aprender todo acerca de Git:
desde los comandos fundamentales hasta los conceptos más rebuscados.
Y finalmente, una mención honrosa para…
- 💐
Explain Git with D3
Una obra sobresaliente que explica visualmente qué ocurre al ejecutar algunos comandos de Git.
Me saco el 🎩 ante la creatividad del señor Wei Wang.
Lo escucho y lo olvido,
lo veo y lo recuerdo,
lo hago y lo entiendo.
un antiguo proverbio chino
Siguiendo este proverbio, una buena idea para empezar
a ensuciarse las manos es instalar Git de forma local.
Sin embargo, la tecnología no ha dejado de acelerar:
los procedimientos de instalación cambian año a año,
y varían según cada sistema operativo
—es posible, incluso, que Git ya esté instalado en tu computador. 😌
Por lo tanto, prefiero entregar una solución future-proof que,
además, puede aplicarse en otros contextos.
Por otra parte,
Es mejor aprender a 🎣
que recibir los 🐟 🐡 🐠.
un reciente proverbio emoji
Por esto, el simple (pero altamente efectivo) método consiste en…
buscar con Google*** en inglés.
(“¿Y por qué no en español?” Porque, tristemente,
hay más recursos disponibles en inglés.)
Entonces, más concretamente, la búsqueda debería verse como
how to install git on <mi-sistema-operativo> <con-su-versión>
Entonces si, por ejemplo, usas Ubuntu 16.04 (LTS), escribe lo siguiente:
how to install git on ubuntu 16.04
Listo, ahora sigue las instrucciones. 😅
Es recomendable mantener cierto grado de consistencia
en la forma de trabajar con Git, puesto que,
si bien podría parecer como una pérdida de tiempo,
esto será de gran ayuda en el mediano-largo plazo.
Esto es análogo a las convenciones que se establecen
al momento de escribir y de estructurar un software.
A continuación, entregaré algunos consejos que intentarán acercar ese objetivo.
-
Escribir buenos mensajes
Pero… ¿qué es un buen mensaje? Esta guía intenta ofrecer una respuesta. </advertising> -
Realizar commits atómicos
Un commit debe ser pensado como un envoltorio, cuyo propósito es hermanar cambios relacionados.
Luego, a modo de ejemplo, dos bugfixes distintos deberían ser colocados en dos commits distintos.
Asimismo, elaborar commits cohesivos permitirá entenderlos fácilmente, pudiendo, por ejemplo,
revertirlos en caso de que fuese necesario. -
No hacer commits a medio camino
Crear un commit incompleto —provocado, imaginemos, por el hecho de que apagarás tu computador—
es una operación que debería ser evitada, ya que, probablemente, no cumplirá con el punto anterior.
Además, si necesitas cambiar de branch (e.g. para hacer un hotfix), no hagas un commit apurado.
En un caso así, git stash es el comando apropiado, pues permite guardar cambios temporales. -
Ponerse de acuerdo en un workflow
Existen muchos workflows sobre Git. La elección del flujo adecuado depende de diferentes criterios:
el tamaño del proyecto, las preferencias del equipo, los métodos de deployment, entre otros factores.
Finalmente, lo importante es llegar a un consenso para que todo el equipo esté en la misma sintonía.
Aquí tienes enlaces hacia dos notables sistemas de flujo: git-flow y GitHub Flow.
Version Control Best Practices — Tobias Günther, blog de Git Tower
Este documento está bajo una licencia Creative Commons 4.0.
*
simplificación grosera (e incluso irrespestuosa) ya que
“rastrear cambios” es una descripción bastante mezquina.
**
mejores, según criterios que no serán revelados en este documento.
***
o mejor con 🦆🦆 para proteger tu privacidad.