Você está na página 1de 31

Traduzido do Inglês para o Português - www.onlinedoctranslator.

com

Introdução a
Fluxo Git
Introdução
Introdução

●Git Flow é um design de fluxo de trabalho Git


● Define um modelo de ramificação estrito projetado em torno do lançamento do projeto
● Isso fornece uma estrutura robusta para gerir projetos maiores

● Adequado para projetos com ciclo de lançamento programado e entrega contínua

● Atribui funções específicas a diferentes filiais

● Define como e quando as filiais devem interagir


Introdução

●Ferramenta de linha de comando com processo de instalação


●Git Flow é um wrapper em torno do Git
●Depois de instalar o git-flow você pode usá-lo em seu projeto executando git
flow init

●git flow init é uma extensão do comando padrão git init


Como
funciona?
Develop e Master Branches

Baseado em dois ramos principais com vida útil infinita:

○ Master/main – este branch contém o código de produção. Lançamento oficial


das funcionalidades

○ developer — este branch contém código de pré-produção. Serve como um


ramo de integração para recursos
○ Também é conveniente marcar todos os commits no branch master com um
número de versão
Develop e Master Branches
Develop e Master Branches
Develop e Master Branches
Feature Branch
Feature Branch

● Cada novo recurso deve residir em seu próprio branch

●As ramificações de recursos usam o desenvolvimento como ramificação pai


● Quando um recurso é concluído, ele é mesclado novamente no
desenvolvimento

● Os recursos nunca devem interagir diretamente com o mestre


Feature Branch
Criando uma ramificação de recurso

● Sem extensões git-flow:


○ git checkout desenvolver
○ git checkout -b feature_branch

● Com extensão git-flow:


○ recurso de fluxo git iniciar feature_branch
Concluindo uma ramificação de recursos

● Sem extensões git-flow:


○ git checkout develop
○ git merge feature_branch

● Com extensões git-flow:


○ git flow feature start feature_branch
Release Branch
Release Branch

● Depois que o desenvolvimento tiver adquirido recursos suficientes para um lançamento, bifurque um
branch de lançamento do desenvolvimento

● A criação deste branch inicia o próximo ciclo de lançamento, portanto, nenhum novo recurso

pode ser adicionado após este ponto

● Permitir que muitos pequenos bugs sejam corrigidos e preparação de metadados


para um lançamento

● Deve se fundir no master e desenvolver


Filial de lançamento
Criando uma ramificação de lançamento

● Sem as extensões git-flow:


○ git checkout develop
○ git checkout -b release/0.1.0

● Ao usar as extensões git-flow:


○ $git flow release start 0.1.0
○ Switched to a new branch 'release/0.1.0'
Concluindo uma ramificação de lançamento

● Sem extensões git-flow:

○ git checkout master


○ git merge release/0.1.0

● Com extensão git-flow:

○ git flow release finish 0.1.0


Hotfix Branch
Hotfix Branch

● Usado para corrigir rapidamente versões de produção


● Criado para agir imediatamente após um status indesejado da branch master

● Baseado em master em vez de develop


● Único branch que deve bifurcar diretamente do master
● Assim que a correção for concluída, ela deverá ser mesclada no master e no develop
Hotfix Branch
Hotfix Branch
● Sem extensões git-flow:
○ mestre de checkout git
○ git checkout -b hotfix_branch

● Com extensões git-flow:

○ $ git flow hotfix start hotfix_branch


Concluindo uma ramificação de hotfix

● Sem extensões git-flow:


○ git checkout master
○ git merge hotfix_branch
○ git checkout develop
○ git merge hotfix_branch

● Com extensão git-flow:


○ git branch -D hotfix_branch
○ $ git flow hotfix finish hotfix_branch
Vantagens
Vantagens

● Garante um estado limpo das branches em qualquer momento do ciclo de


vida do projeto
● A nomenclatura dos ramos segue um padrão sistemático, facilitando a
compreender
● Possui extensões e suporte nas ferramentas git mais utilizadas
● É ideal quando é necessário haver múltiplas versões em produção
Desvantagens

● A história do Git se torna ilegível

● A divisão master/develop é considerada redundante

● Não é recomendado quando é necessário manter uma versão única em produção


Fluxo geral do fluxo Git

●Um branch de desenvolvimento é criado a partir do master


●Branches de recursos são criados a partir de desenvolvimento
●Quando um recurso é concluído, ele é mesclado no branch de desenvolvimento. Um branch
●de lançamento é criado a partir do desenvolvimento.
● Quando o branch de lançamento estiver concluído ele será mesclado com o development e o
● master Se for detectado um problema no master um hotfix branch será criado a partir do master
● Assim que o hotfix for concluído ele será mesclado com o development e o master
Padrões de commits
feat- Commits do tipo feat indicam que seu trecho de código está incluindo um novo recurso (se relaciona
com o MINOR do versionamento semântico).

fix - Commits do tipo fix indicam que seu trecho de código commitado está solucionando um problema (bug
fix), (se relaciona com o PATCH do versionamento semântico).

docs - Commits do tipo docs indicam que houveram mudanças na documentação, como por exemplo no
Readme do seu repositório. (Não inclui alterações em código).

test - Commits do tipo test são utilizados quando são realizadas alterações em testes, seja criando, alterando
ou excluindo testes unitários. (Não inclui alterações em código)

build - Commits do tipo build são utilizados quando são realizadas modificações em arquivos de build e
dependências.

perf - Commits do tipo perf servem para identificar quaisquer alterações de código que estejam relacionadas
a performance.

style - Commits do tipo style indicam que houveram alterações referentes a formatações de código,
semicolons, trailing spaces, lint... (Não inclui alterações em código).

refactor - Commits do tipo refactor referem-se a mudanças devido a refatorações que não alterem sua
funcionalidade, como por exemplo, uma alteração no formato como é processada determinada parte da tela,
mas que manteve a mesma funcionalidade, ou melhorias de performance devido a um code review.
Padrões de commits
Obrigado

Você também pode gostar