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).