Voy a aprender Git

Git. Ese sistema de control de versiones para superdotados. Es un hijo de Linus (el creador de Linux). Por ello, la sencillez no es una de sus características. Si alguna vez has configurado y compilado un kernel de Linux, sabrás que a este señor no le gusta ningún programa sin al menos cincuenta opciones en la línea de comandos: veinticinco empezando por -y otras veinticinco por --. Y diez más que no están documentadas. Para usar Git se asume que ya tienes de antemano una serie de habilidades (manejo de la Terminal, uso de ssh, resistencia innata al desaliento ante una documentación fea como un demonio, coeficiente intelectual de 300, …)

Así que uso habitualmente Mercurial (siempre que puedo, antes que Git) por varias razones:

  • me resultó muy sencillo aprender a usar Mercurial gracias al excelente tutorial de Joel Spolsky
  • el 80% de las cosas que haces habitualmente es muy sencillo de hacer con HG
  • no necesitas configurar nada: te lo bajas, lo instalas, vas a una carpeta, escribes hg init y listo
  • tanto BitBucket como SourceTree lo soportan. Luego es perfecto para mi.
  • si funciona, no lo toques

Pero claro, no se Git. Y me siento estúpido.

Hay varias cosas que considero «la maratón mental del informático». Lo que distingue a los buenos de los que tienen que seguir esforzándose. Cosas difíciles, que te obligan a aprender y a exprimirte el cerebro. Por supuesto, no he hecho ninguna de ellas, autocolocándome en uno de los dos anteriores grupos. Estos retos son:

  • dominar el uso de expresiones regulares (sin mirar en StackOverflow)
  • escribir una pequeña aplicación o demo completamente en ensamblador
  • hacer una aplicación web en un lenguaje funcional, como Clojure
  • hacer un juego usando OpenGL
  • entender qué demonios hace git con las ramas y git flow

Pues bien, una de ellas voy a tacharla de la lista, pero ya. El uso de Git está muy extendido, y soluciones que uso habitualmente como Cocoa Pods lo utilizan de forma extensa. Tengo que aprender a usarlo, quiera o no. Además, en varios proyectos se necesita Git y aunque con SourceTree puedo ir tirando, quiero comprender qué se cuece tras la interfaz bonita y ser capaz de manejar este DCVS yo solito.

La opción de leer un libro me aterrorizaba: demasiado esfuerzo tras tanto esfuerzo con otras cosas. Así que la mejor solución va a ser asistir al curso Entendiendo Git que Alfonso Alba imparte en Las Rozas. Creo que aún estás a tiempo de conseguir un descuento por compra anticipada. Voy con muchas esperanzas puestas en el curso, para tener una base que me permita manejar en el día a día este DCVS sin problemas, y explorar por mi cuenta. Vamos, que espero entrar chapurreando un par de palabras en Git y salir hablando, con acento y poco vocabulario, Git. Pero entendiéndolo al menos.

Escribiré qué he aprendido en el curso cuando lo termine. Pero conociendo a Alfonso de las NSCoder Night de Madrid creo que la duda no está en la calidad del curso, sino en si mi mente será capaz de pasar por la maratón. Espero que si.

5 comments

  1. Pingback: La NSSpain — freniche.com: iPhone, Java, Macs, Linux…

Comments are closed.