Propuesta de nomenclatura para los números de version de un proyecto software – Semantic versioning

Hace ya bastante tiempo hablamos “una buena manera de afrontar el branching en Git”, comentamos como crear ramas en nuestro proyecto para poder desarrollar nuevas funcionalidades de una manera más sencilla y efectiva. De la misma manera también hemos recomendado herramientas para utilizar git como “SourceTree”. Hoy vamos a hablar del versionamiento semantico, un mínimo conjunto de reglas que nos ayudan a aumentar números de versión a nuestro proyecto.

Esta es estrategia es bastante utilizada en las comunidades de software libre, como por ejemplo Ruby (a partir de 2.1.0), incluso parte de la comunidad PHP.

Continúa leyendo “Propuesta de nomenclatura para los números de version de un proyecto software – Semantic versioning”

Intentando hacer buenos commits

Se ha solucionado ya el bug del ticket #1234. Es una frase que puedes oír perfectamente en el trabajo. El ticket afecta a parte una parte del sistema que tú conoces muy bien y te piden revisar el arreglo. Así que ni corto ni perezoso te poner a ver las historias de las revisiones y vez que hay 4 subidas con mensajes como “ajustar DAO”, “soluciones”, “eliminar depuración”. Empiezas a temblar e innumerables blasfemias recorren tu mente… Una solución que no sería más de 3 líneas de código se ha convertido en un puñado de líneas de código y  una revisión de 2 puñados de archivos.

Un control de versiones es algo más que una pila desordenada de copias de seguridad. Así que en este artículo vamos a dar una serie de consejillos sobre mantener un repositorio útil.

Sólo 1 cambio por commit

Imagina que te asignan 2 tickets para resolver #1234 y el #4567, para solucionarlos hay que cambiar unas cosillas como pueden ser añadir 2 botones a la interfaz, refactorizar dos clases y cambiar unos tabuladores. Entonces corriges el bug #1234 y resuelves #4567.

Continúa leyendo “Intentando hacer buenos commits”

Chuletas GIT + Git con graficos GUI sobre windows

Ya hemos hablado anteriormente de Git, hemos realizado una introducción y comentamos acerca de Git-flow que por cierto es uno de los post más leídos 😉

Hoy me gustaría hacer una pequeña recopilación de cheatsheet (chuletas) sobre git. Para muchos entre los que me incluyo interactuar a veces con una ventana de comandos es difícil y aún más acordarse de que comando es el correcto (sin cagarla).

Quizás alguien piense que con autocompletar es suficiente, pero a veces a mi se me queda corto. Por ello he recopilado una serie de chuletas sobre Git.

Para quien no lo sepa Git es un software de control de versiones. El control de versiones, reduciéndolo mucho, es la gestión de los diversos cambios que se realizan sobre un repositorio (un repositorio es el nombre que recibe el lugar donde se aloja el código de un proyecto de desarrollo en algún lenguaje de programación).

Cuando buscamos en google chuletas aparecen miles y miles de referencias, unas mejores, otras no tanto. Yo he recopilado unas cuantas, las que me han parecido más interesantes.

Continúa leyendo “Chuletas GIT + Git con graficos GUI sobre windows”

Cheat sheet sobre git-flow: Chuleta/Resumen

Ya hemos hablado de gitflow en otras ocasiones. Ahora me gustaría comentar un pequeño resumen que he encontrado aquí http://danielkummer.github.com/git-flow-cheatsheet/ y que he traducido libremente. el chearsheet de daniel es mucho más colorido, yo he optado por crear uno en pdf que se puede imprimir. Tened cuidado con eso de imprimir porque al final os pasa como a mí y los papeles se esconden cada vez que voy a buscarlos 😉

Para recordar un poco Gitflow Es una extensión para git que ayuda a usar la metodología “una rama por tarea” con git

Continúa leyendo “Cheat sheet sobre git-flow: Chuleta/Resumen”

Consejos y trucos en Git

Todos alguna vez la hemos liado con Git, un commit mal hecho, un mensaje de commit con faltas de ortografía, o cualquier cosa peor. Aquí intento recoger algunos trucos sobre git. Los trucos los he sacado sobre todo de esta página http://boso.herokuapp.com/git, en la que se recopilan las mejores preguntas de StackOverFlow organizadas por temas.

¿Cómo reeditar un mensaje de commit en Git?

¿No os ha pasado nunca el hacer un commit con un comentario erróneo? Si a veces pasa, tienes ganas de subir los cambios y no te das cuenta de lo que estas escribiendo. Para volver atrás y reescribir el ultimo comentario tenemos:

Continúa leyendo “Consejos y trucos en Git”

Gestión de contraseñas en el repositorio de código

El otro día me topé con un post interesante de John Resig (creador de la biblioteca JQuery). así que he decidido compartirlo un poco.

¿Cómo gestionar las contraseñas en el repositorio de código?

Normalmente lo que se hace es crear un archivo de configuración en blanco, por ejemplo conf/sample-setting.json que tiene una estructura básica pero ningún dato confidencial.

Continúa leyendo “Gestión de contraseñas en el repositorio de código”

Git-flow primeros pasos

GitFlow

Hace unos días publiqué una entrada sobre “una buena manera de afrontar la ramificación utilizando Git. Un comentario del blog de Jorge Jiménez (@jorgejiro) me recordó git-flow y ahora voy a intentar realizar una pequeña introducción a este hack.

¿Qué es git-flow?

Es una colección de extensiones para Git que proveen e unas serie de operaciones de alto nivel para utilizar un repositorio Git de manera más fácil.

Para entender mejor como empezar con git-flow lo mejor he encontrado este post http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/ (INGLÉS). Intentaré traducirlo:

Continúa leyendo “Git-flow primeros pasos”

Una buena manera de afrontar la ramificación (branching) en Git

Este post es una traducción libre de http://nvie.com/posts/a-successful-git-branching-model/ en el que voy a contar una manera de trabajar con proyectos, Repositorios de código distribuidos (git) y ramas. Todo esto viene a que hace un tiempo encontré por barrapunto esta discusión y encontré este post que ahora traduzco.

Estrategia de ramificiación y administración de versiones

¿por qué Git?

Existen en internet multitud de discusiones sobre los post y contras de Git, por ejemplo esta. Git da a los desarrolladores una nueva forma de pensar en fusión y ramificación. Desde CVS/Subversión siempre he tenido un poco de miedo por las bifurcaciones, sobre todo con los conflictos al mezclar (merge) ¡Los merges muerden!

Continúa leyendo “Una buena manera de afrontar la ramificación (branching) en Git”

Introducción a GIT

Vamos a empezar con un poco de introducción. El control de versiones es un sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar versiones específicas más adelante.

Existen diferentes modos de enfocar el control de versiones, las más populares son un repositorio centralizado (SVN) o un repositorio distribuido (Git).

Repositorio centralizado

Esto es un lugar donde se almacena el proyecto en su totalidad. Así los clientes se conectan al repositorio central y pueden descargar el código o hacer commits (enviar sus cambios) hacia él.

Continúa leyendo “Introducción a GIT”