Control de versiones software

La programación es un campo que está en constante desarrollo y evolución. Eso lo podemos ver en nuestros teléfonos y en el ordenador ( Windows millenium, windows vista, windows 10… para al final acabar usando Linux). Es importante, sobre todo cuando se trabaja en equipo, llevar un control de lo que se hace, documentación, etc… sobre todo, cuando queremos meter mejoras en el proyecto.

Vamos a intentar hacer un combo, aprender algo muy muy básico de programación (en Python) y a la vez control de versiones (en Git). ¡Al ataque!

Primero que nada, hemos de tener Git instalado en nuestro ordenador (no voy a explicar cómo se instala, Google es tu amigo, tanto en windows, linux o mac).

Hemos de configurarnos una cuenta en el repositorio que vayamos a usar. En este caso va a ser GitHub por poner uno, quien quiera usar otros (bitbucket, …), es libre de hacerlo, y los comandos de git son los mismos.

Por facilidad y para no enrollarme demasiado, create un repositorio primero en la web, llámalo “tutorial git”, por ejemplo.

Para la configuración de la cuenta, necesitaremos una clave SSH (¿No sabes qué es eso? Recuerda, google es tu amigo), la cual, Github nos dice como genera en su página.

-Bueno, a todo esto, aún no hemos empezado a programar, sí que es complicado, si total, es guardar un archivo y ya está…
-Bien, ¿y cómo lo vas a llamar? ¿proyecto.py? Y si haces cambios y no quieres perder los anteriores… ¿proyecto2.py? Y cuando tengas 200 archivos que gestionar A LA VEZ, ¿qué harás? Mira este ejemplo y piensa en el infierno que te esperaría ahí… ¿Convencido? ¿Seguimos?

Bueno, no te agobio más con como funciona git, si quieres saber más, Google, aunque te recomiendo esta guía y esta otra

Vamos a empezar con python. Vamos por lo sencillo, el típico “Hola Mundo”.
Como queremos guardar los datos de nuestros programas y versiones, vamos a crear archivos. Si has usado a tu amigo, habrás visto quepuedes ejecutar pyhton desde consola e incluso desde el intérprete, sin crear archivos, pero nos interesa guardar los cambios, que es de lo que trata el post. Así que ejecutaremos python en terminal.

Es importante crearnos un directorio para guardar lo que vamos a desarrollar, sobre todo si lo pretendemos guardar en un repositorio que estará a la vista de otra gente. Por ejemplo, para desarrollos yo suelo usar un directorio llamado workspace y dentro creo la carpeta del proyecto que quiero crear:

Pepe$ 
Pepe$ cd workspace 
Pepe$ mkdir tuto_git_y_python
Pepe$ ls
tuto_git_y_python
Creando la carpeta del repo

Aquí es donde nos descargaremos el repositorio;

Pepe$ git clone https://github.com/tu_usuario/tutorial_git.git tuto_git_y_python
Pepe$ cd tuto_git_y_python
Vamos a descargar el repo nuevo

En python, para mostrar el valor de algo se usa el comando print, así que vamos a crear un archivo ejercicio1.py y escribiremos;

print "Hola Mundo!"
ejercicio1.py

En este caso, ese “algo” es un texto, podemos escribir resultados de operaciones y cosas bastante más complejas, pero vamos poco a poco.

Ya hemos hecho nuestro primer archivo, ¿lo quieres ejecutar y ver el resultado? Vete a la consola  escribe:

Pepe$ nano ejercicio1.py
Pepe$ python ejercicio1.py 
Hola mundo!
Pepe$
ejecutando el primer ejercicio en python

¿funciona? ¡Bien! Al repo, ¡ya!
¿No funciona? Lee la salida de consola, vuelve para arriba en este post y revisa por qué te ha dado error (tu amigo te echará una mano).

Bueno, para empezar un repo, qué mejor que un Hola Mundo! ¡Vamos allá! Lo primero es saber que los comandos básicos de git son:

git add archivo

git commit -m “comentario”

git push

git pull

Así que antes de empezar, git no sabe quien eres, así que, como en toda relación, hay que presentarse… Así que vamos a decirle a git quien somos:

Pepe$ git config --global user.name "Perico de los Palotes"
Pepe$ git config --global user.email "perico@delospalotes.com"
Pepe$ git config --global core.editor vim
Pepe$ git config --global merge.tool vimdiff
Nos presentamos a Git

Con esto estamos dando nuestro nombre para que se sepa quién ha hecho cambios en el código, y qué cambios han sido.

Ahora git ya nos conoce, vamos a decirle que en esa carpeta hemos hecho cosas y queremos añadir el archivo o los cambios al repositorio:

Pepe$ git add ejercicio1.py

y no olvidemos que ahora hemos añadido el archivo, pero no hemos registrado los cambios aún, hay que cometer un cambio (en inglés commit). Lo ideal sería explicar qué se ha hecho en este commit, ya que los commits son una forma rápida de ver los principales cambios en el repo.

Pepe$ git commit -m "Mi primer commit!"
Este comentario no nos dice mucho, pero solo es un ejemplo, y el código no da para más

Y ahora viene la parte más importante, tienes los cambios en tu ordenador, pero no en el repo online, hay que subirlos;

Pepe$ git push

Y bueno, si has llegado hasta aquí sin errores, enhorabuena, ya sabes subir cosas, ahora… TODO LO QUE SUBE, BAJA.

Es bueno que cada cierto tiempo, sobre todo si trabajas en equipo, te bajes el repo de la web.

Pepe$ git pull
con esto, bajas los cambios del código del repo online

Y con esto lo más básico de git, para empezar a trastear con ramas, pull requests y demás, mírate documentación:

https://git-scm.com/book/es/v2

Aunque empieza por esta, es sencilla y explica lo más básico de forma muy sencilla:

http://rogerdudler.github.io/git-guide/index.es.html

 

Creative Commons License
Control de versiones software by Pepe Chorva is licensed under a Creative Commons Attribution-ShareAlike 4.0 Internacional

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *