|
|
@@ -41,6 +41,42 @@ Estas ramas se utilizan para desarrollar nuevas características para la próxim
|
|
|
|
|
|
Las ramas `feature`suelen existir sólo en los repos de desarrolladores, no en `origin`.
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+**Creación de una rama `feature`**
|
|
|
+
|
|
|
+Cuando se inicie con una nueva característica, se creará una nueva rama a partir de `develop`.
|
|
|
+
|
|
|
+```
|
|
|
+$ git checkout -b feature_myfeature develop
|
|
|
+```
|
|
|
+
|
|
|
+**Merge de una rama `feature`**
|
|
|
+
|
|
|
+Una vez finalizado el desarrollo de una nueva característica, se debe hacer un merge a `develop` para incorporar los cambios en un lanzamiento posterior.
|
|
|
+
|
|
|
+```
|
|
|
+$ git checkout develop
|
|
|
+
|
|
|
+$ git merge --no-ff feature_myfeature
|
|
|
+
|
|
|
+$ git branch -d feature_myfeature
|
|
|
+
|
|
|
+$ git push origin develop
|
|
|
+
|
|
|
+```
|
|
|
+
|
|
|
+El flag `--no-ff` hace que el merge cree un nuevo commit, incluso si el merge se puede realizar con un fast-forward. Esto evita perder información sobre la historia de commits de una rama `feature` y agrupa todos los commits que añadieron la característica.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+En el segundo caso (plain), es imposible observar desde el hisotrial Git cuales commits han implementado la característica, tendríamos que leer los mensajes de log. Revertir una `feature`completa es muy dificil en esta situación, sin embargo es mas facil si se utiliza el flag `--no-ff`.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|