DEV Community

Danilo Silva
Danilo Silva

Posted on

Git Flow - Features [pt-BR]

Vamos aprender para que servem as branches chamadas de features e como aplicar o uso delas ao desenvolvimento.


Definição

Features são branches para o desenvolvimento de uma funcionalidade específica, por convenção elas têm o prefixo feature/.

  • feature/cadastro-pessoa

Importante ressaltar que as features (vamos nos acostumar a chamá-lás assim) são criadas sempre à partir da branch develop.

📌 O conceito de feature é aplicado entendendo que em cada uma será realizado o desenvolvimento de uma tarefa/história/demanda, sendo assim ser possível organizar o fluxo de desenvolvimento por tarefas concluídas e terem suas criações e/ou alterações sempre presentes na develop (branch principal de desenvolvimento).

Git Flow create feature in action

📝 Descrição da imagem:

Criação de uma feature a partir da develop (F - Nova feature) e no final do desenvolvimento da funcionalidade (C - Commit) é realizada a mesclagem com a develop (M - Merge).


Features na prática 😎

Pré-requisitos

  • Ter o GIT instalado
  • Qualquer repositório com o fluxo do Git Flow inicializado e configurado.

1. Criação de features

Para criar uma feature é bem simples:

git flow feature start <nome-funcionalidade-ou-tarefa>
Enter fullscreen mode Exit fullscreen mode

Com um comando neste padrão, será criada uma nova branch através da develop com o prefixo feature/, seguido do nome que você inserir.
Execute:

git flow feature start cadastrar-pessoa
Enter fullscreen mode Exit fullscreen mode

O retorno do comando é uma nova branch entitulado feature/cadastrar-pessoa e já é realizado checkout nessa nova branch.

[saída do console]                                                       
Switched to a new branch 'feature/cadastrar-pessoa'

Summary of actions:
- A new branch 'feature/cadastrar-pessoa' was created, bases on 'develop'
- You are now on branch 'feature/cadastrar-pessoa'

Now, start committing on your feature. When done, use:
    git flow feature finish cadastrar-pessoa
Enter fullscreen mode Exit fullscreen mode

2. Finalização de features

Após terminar o desenvolvimento da funcionalidade, ser feito N commits, a branch estará pronta para ser finalizado e mesclado à develop.

Então você verificou que está na feature, não há nenhum commit a ser feito e nenhum arquivo pendente...

git checkout feature/cadastrar-pessoa
git status
Enter fullscreen mode Exit fullscreen mode
[saída do console]                         
No ramo feature/cadastrar-pessoa                  
nothing to commit, working tree clean
Enter fullscreen mode Exit fullscreen mode

Para finalizar uma feature, basta:

git flow feature finish <nome-funcionalidade-ou-tarefa>
Enter fullscreen mode Exit fullscreen mode

O nome da feature é opcional quando você já está presente(checkout) nela.

Execute:

git flow feature finish
Enter fullscreen mode Exit fullscreen mode

Após esta instruçao, a feature será meclada(merge) à develop e, deletada tanto localmente como remotamente.

Switched to branch 'develop'
Already up to date.
Deleted branch feature/cadastrar-pessoa (was 713d5ac).

Summary of actions:
- The feature branch 'feature/cadastrar-pessoa' was merged into 'develop'
- Feature branch 'feature/cadastrar-pessoa' has been locally deleted
- You are now on branch 'develop'
Enter fullscreen mode Exit fullscreen mode

Pronto, para trabalhar com features de forma simples e rápida, é isto!!


Considerações finais

Resumo de comandos

Criar nova feature

  git flow feature start <nome-funcionalidade-ou-tarefa>
Enter fullscreen mode Exit fullscreen mode

Finalizar feature

  git flow feature finish
Enter fullscreen mode Exit fullscreen mode

⚡ Nesta seção sobre Git Flow você encontrará explicações e usos práticos sobre releases, hotfixes, tags e muito mais.


Obrigado por chegar até aqui! 😄

Top comments (0)