DEV Community

Danilo Silva
Danilo Silva

Posted on

1

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! 😄

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs