> For the complete documentation index, see [llms.txt](https://manu-artero-anguita.gitbook.io/buenas-practicas-con-react/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manu-artero-anguita.gitbook.io/buenas-practicas-con-react/sesion-2/4.-git-flow.md).

# 4. Git Flow

{% embed url="<https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow>" %}
Tutorial perfectamente explicado de git-flow
{% endembed %}

![](https://2587136002-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqvBskYj09PBRfB5OZV01%2Fuploads%2FUEbS09HBttLD6fVBpJXh%2F02%20Feature%20branches.png?alt=media\&token=59ea70b4-abf9-4827-be61-bdcebf1b4f4e)

```bash
brew install git-flow

git flow init

git flow {feature|release|hot_fix} {start|finish} name

```

### Adaptación en la industria

{% embed url="<https://githubflow.github.io/>" %}

* `master` siempre se puede desplegar
* Al empezar a trabajar, crea una rama con un nombre descriptivo desde `master` (`my-feature`)
* haz commits regulares sobre esa rama en local y publica regularmente tus cambios a una rama con el mismo nombre `origin/my-feature`
* En el momento en el que necesites feedback o ayuda, o creas que la rama está lista, abre una `pull request`
* En el momento que alguien haya revisado tus cambios (y tengas blue ball), puedes hacer `merge` en `master` (incluso aunque no esté terminada)
* Si esta en `master` deberías poder desplegar, `master` se puede desplegar en cualquier momento.
