Features

Vamos aprender para que servem os 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/. Por exemplo:

  • feature/cadastro-pessoa

Importante ressaltar que as features (vamos nos acostumar a chamá-lás assim) são criadas sempre à partir do 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).

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

Pré-requisitos

1. Criação de features

Para criar uma feature é bem simples:

git flow feature start <nome-funcionalidade-ou-tarefa>

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

Execute:

git flow feature start cadastrar-pessoa

O retorno do comando é um novo branch entitulado feature/cadastrar-pessoa e já é realizado checkout nesse novo 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

2. Finalização de features

Após terminar o desenvolvimento da funcionalidade, ser feito N commits, o branch estará pronto 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

[saída do console] No ramo feature/cadastrar-pessoa nothing to commit, working tree clean

Para finalizar uma feature, basta:

git flow feature finish <nome-funcionalidade-ou-tarefa> O nome da feature é opcional quando você já está presente(checkout) nela.

Execute:

git flow feature finish

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'

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>

Finalizar feature

git flow feature finish

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

Last updated