Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

¿Qué es ese “GitHub” del que todo el mundo habla?

https://github.com/es/Octocat/blob/master/scrapeImgs.sh

La última vez que escribí en un blog prometí que mi próximo artículo sería acerca de aspectos técnicos. Más o menos hace 9 meses empecé a escribir la siguiente historia:

Verdad para confesar, me siento un poco avergonzada cuando hice esta pregunta parecía ser que era algo que yo ya debía saber. Pero la ignorancia no es lo mismo que la estupidez. No averiguar sería la opción estúpida en este escenario.

Sin embargo, debo admitir que el nombre me dio risa cuando lo escuché. No se si este es el caso en todos los países angloparlantes a lo largo del planeta pero en el Reino Unido si alguien es un “git” esto significa que es un poco pendejo/boludo. Algunas veces es incluso usado de manera cariñosa (no me pregunten por qué). Por eso lo primero que se me vino a la mente fue “un grupo de pendejos” saliendo… también en la parte Norte, se usa “git” para decir “¿en serio?” o “muy”, por ejemplo Cheryl Cole (famosa cantante del norte de Inglaterra) podría decir, “Eeee, these falsies are git big like, a’n’t the’?”(Dicho de otra manera en inglés: “These false eye lashes are really big, aren’t, they?”). Lo que en español quiere decir, “Estas pestañas postizas son muy grandes, ¿verdad?”

Pero me desvié del tema. En la última semana, 3 personas diferentes me han dicho que use GitHub, todos para propósitos diferentes.

  1. Quería mostrar a mi amigo Martijn el juego de aventura en el que he estado trabajando en Codecademy pero para hacer esto él habría tenido que autenticarse con mi usuario y mi contraseña, cosa que no estaba dispuesto a hacerlo (Aunque yo no sabía bien por qué- ¿qué habrá pensado que tendría que hacer? ¿Actuar como un renegado y corregir todos mis ejercicios? Sí, sí yo se que compartir contraseñas es una mala idea…) y el sugirió GitHub.

2. “Women Hack for Non-Profits” me pidió compartir mis artículos del blog con ellos en su wiki, pero parece que tengo que tener GitHub para hacer esto.

3. Le estaba preguntando a mi novio (Quien también tiene un blog, pueden mirar su sitio aquí andrewingram) cuál era la mejor manera de copiar y pegar código y otra vez… GitHub. Estaba trabajando en un artículo acerca de “objetos” que tendrá que esperar hasta que tenga GitHub.

Bueno sin más alboroto, vamos a chequearlo

[Ve a chequear GitHub]

Um. Ok. Errr….

Aún me siento un poco perdida para ser honesta. Creé una cuenta y revisé la información de la página. Ellos hablan de repositorios y tengo una vaga idea acerca de qué son. Tal vez debería crear uno

Bueno, de hecho lo hice. He creado muchos repositorios desde entonces. Pero luego me ocupo de otras cosas y nunca puedo terminar esta historia. Sin embargo, pensé que valía la pena regresar a ella porque para los no iniciados, GitHub parece un poco confuso al principio.

Bueno, ¿Qué es GitHub? Cualquier persona podría decirte que es sistemas de control de versiones (confesión vergonzosa: cuando escuché por primera vez ese término, pensé que era control de visión y me confundí mucho) Pero, ¿Qué significa eso exactamente? Bueno, imagina que estás escribiendo una novela y se la envías a una amiga para que la lea. Mientras tanto tú decides que quieres cambiar el último capítulo de romance a tragedia. Entonces tu amiga te envía de vuelta la primera versión con algunas correcciones y comentarios. Tu copias y pegas el último capítulo en esta nueva versión y empiezas a reescribirlo teniendo en cuenta las recomendaciones de tu amiga… si eres lo suficientemente lista conservarás todas las versiones de tu historia y las nombrarás como v1, v2 etc. Por si decides que era perfecto iniciar como estaba tu solo debes ir a la primera versión. Sin embargo, terminarás con un potencial caos de diferentes versiones dispersas en tus carpetas. Control de versiones te ayuda a limpiar este desastre. Cada vez que haces un cambio significativo, tu haces click en ‘commit’ (remitir) y sigues escribiendo. En tu repositorio (que es esencialmente una carpeta en la que has iniciado el sistema de control de versiones), tu verás solamente la versión que estás editando, pero si alguna vez tu quieres volver a versiones anteriores lo puedes hacer. No intento explicar los por qué o los cómo hacer esto, se sale del propósito de este artículo (además depende de la versión del sistema de control que uses) al menos espero que ahora entiendas por qué es útil y por qué es usado.

Cuando estés usando GitHub, tendrás una copia, de lo que sea que estés haciendo, en un repositorio en tu computador para asegurarte que los cambios que hagas están actualizados regularmente en tu cuenta de GitHub. Todo lo que guardes en GitHub es almacenado en la “nube”, pero no solo esto, otras personas pueden leerlo, copiarlo a su computador y enviártelo de vuelta, entre otras cosas.

El control de versiones es especialmente necesario cuando escribes código porque el más pequeño cambio puede romper tu código y hacer que te explote en la cara. En esos momentos es grandioso ser capaz de volver al momento en que el código funcionaba, y empezar de nuevo. También, GitHub permite colaboración entre usuarios que están trabajando en proyectos conjuntos pues mantiene el seguimiento de todos los cambios que los individuos hagan.

Lo anterior me trae de nuevo a mi amigo Martijn pidiéndome que publicara mi código en GitHub. Lo hice y esto significó que él fuera capaz de descargar el archivo en su computador, ponerlo entre etiquetas en un documento html, abrirlo y jugar mi juego de aventura (codifica aquí si estás interesada— advertencia: es un código terrible, pero funciona). Esto en últimas fue mucho más sencillo que darle mi usuario y contraseña de Codeacademy.

Para compartir mis artículos del blog con la wiki de “Women Hack for Non- Profits” debía usar GitHub porque WHFNP tiene alojada la Wiki allí. Por eso está creada bajo la definición de un archivo compartido al que yo puedo contribuir (nota aclaratoria, tu puedes decidir quien puede y quien no puede contribuir en los proyectos asociados a tu perfil de GitHub) — eso hice y puedes encontrar un link a este blog aquí.

Finalmente, es una manera de crear y embeber fragmentos de código en un artículo de un blog. Debo admitir que hasta ayer no tenía ni idea de cómo hacerlo, hoy lo volví mi reto y ¡voilá!

De hecho, no era tan difícil, no puedo creer que me haya tomado tanto tiempo. Lo que tienes que hacer es crear lo que es conocido como un “gist” en tu perfil de GitHub (algunas indicaciones de cómo hacerlo aquí) y después sólo copiar y pegar la url en Medium, hundir “return” y ¡BOOM!, ejemplo del código arriba. Creo que para otras plataformas de blogs, necesitas ponerlo entre etiquetas scripts, pero verifica.

Y aquí tenemos… 9 meses en proceso (Puedes tener un bebé en ese tiempo) espero que esto te ayude a tener una mejor idea de lo que es GitHub y que tan útil puede ser

¡Hasta la próxima!

Si este artículo te parece valioso, ¡compártelo!

Escrito por Elizabeth Venner y traducido al español por Maria Alejandra Yepes para Code Like A Girl.