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