git-flow para contribuir features


Git-flow son un conjunto de sugerencias para trabajar en un proyecto colaborativo que reduce algunos de los problemas potenciales de tener muchos desarrolladores en un proyecto. Afortunadamente, existen varias herramientas que estandarizan dichas sugerencias y facilitan sus funciones. En este caso revisamos el workflow de desarrolladores que contribuyen con features al proyecto.

Instalación

Una de las herramienta populares es: git-flow para instalarla en Ubuntu, se hace lo siguiente:

    apt-get install git-flow

Para otras versiones de linux, macs y winddows.

Branches

Git-flow propone utilizar los siguientes branches

  • master contiene únicamente información de los release
  • develop contiene todo la historia de desarrollo
  • feature-* son branches temporales para creación de features

Ejemplo: authorprof

El siguiente ejemplo muestra como un desarrollador de features puede contribuir a un proyecto que use la propuesta de Git-flow.

Clonar el código

En este caso el código radica de manera central en github, pero lo necesitamos en nuestra máquina para comenzar a hackear. Para esto clonamos el código de nuestra cuenta a nuestra máquina con la siguiente instrucción:

    git clone https://github.com/ivanvladimir/authorprof.git

En este caso asumimos que somos colaboradores del proyecto en cuestión ya que está sobre la plataforma github. De otra forma habría que darle la vuelta con forks y _pull-requests_o poniendo una plataforma independiente para nuestro repositorio.

Inicializar código

Para crear los brach que propone Git-flow podemos hacer lo siguiente en el directorio de nuestro proyecto (authorprof):

    git flow init

Y contestar las preguntas a nuestras preferencias. Muy probablemente master y develop ya estén incluidas en el repositorio.

Comenzar un feature

Con nuestra copia y en el branch de desarrollo, podemos comenzar a trabajar en nuestro feature, con la siguiente instrucción:

    git flow feature start NOMBREFEATURE

Codificar mi tarea

En este momento podemos a trabajar en nuestra tarea con toda confianza y libertad. Podemos hacer las operaciones normales de ir programando nuestro código, y hacer las operaciones con git que necesitemos.

    git status
    git commit
    git add

Una intrudicción rápida a git puedes encontrarla aquí.

Una vez que hayamos finalizado con nuestro feature lo podemos finalizar con la siguiente instrucción:

    git flow feature finish NOMBREFEATURE

Esta es la etapa en la que estaremos la mayor parte del tiempo.

Compartir mi tarea

Una vez terminada con mi tarea, podemos compartir nuestro código, para que sea integrado a la branch de develop:

    git flow feature publish NOMBREFEATURE

Mas allá

Lo anterior es el ciclo del desarrollador, además existe el ciclo del encargado de hacer releases y de arreglar bugs (hotfixes).

Material Extra

Ver también


comments powered by Disqus