¿Qué son Git y GitHub? Antes de responder a esta pregunta hay que entender el concepto de Sistema de Control de Versiones. ¿Qué es y para qué sirve?
Sea lo que sea a lo que te dediques, cuando llevas a cabo un proyecto, ya sea un documento, una presentación, escribes un libro, desarrollas una aplicación o creas un juego, el proceso no es inmediato ni directo. Sabes cuando empiezas, pero no cuando acabas. Y una vez terminado, cuando lo veas, lo corregirás y lo modificarás, pero no una vez, ni dos, lo vas a modificar y corregir en repetidas ocasiones.
Esto de las correcciones y revisiones será porque detectas errores. Desde una falta de ortografía en la redacción de un artículo, pasando por una diapositiva de la presentación que no tiene ningún sentido, o un bug en el juego. O bien, porque quieres modificar una parte del mismo para mejorarla. Por ejemplo, porque el libro que estás escribiendo es sobre una determinada aplicación, que se ha actualizado y han liberado una nueva versión con nuevas características.
Llegados a este punto, el problema lo encontrarás cuando quieras volver atrás. Por ejemplo, una vez has introducido una modificación en tu libro, puede ser que no te guste como ha quedado y quieras deshacer los cambios. Si son pocos cambios, con deshacer tienes suficiente, pero ¿qué sucede cuando has introducido cambios sustanciales?
¿Cómo podemos regresar al pasado? Para esto es necesario llevar un control de versiones.