Git Flow: O Guia Completo Para Iniciantes

Git Flow - Guia Completo Para Iniciantes
Git Flow - Guia Completo Para Iniciantes

Git flow é uma estratégia popular de ramificação do Git destinada a simplificar o gerenciamento de projetos dos desenvolvedores.

É um modelo de ramificação Git bem-sucedido que depende de isolar seu trabalho em diferentes tipos de ramificações.

Foi introduzido em 2010 por Vincent Driessen, e se tornou o fluxo de trabalho mais popular, pois obteve o máximo benefício do uso do Git.

Essa estratégia é recomendada principalmente para projetos que usam versionamento semântico ou que precisam dispor de suporte a diversas versões de seu software.

Neste artigo, abordaremos as diferentes ramificações dentro dos repositores, como usar o fluxo do Git, além de outras estratégias de ramificação do Git.

O que é Git Flow?

O que é git flow

É uma estratégia ou um fluxo de trabalho bastante utilizado entre as equipes de desenvolvimento de software. 

Como dito no início deste artigo, ele foi publicado pelo engenheiro holandês, Vincent Driessen.

Esse fluxo visa melhorar as organizações das Branches (ramificações) dentro de repositórios e, assim, melhorar a fluidez ao processo de desenvolvimento de novas versões, correções de bugs e funcionalidades do software.

Basicamente, existem 4 fluxos de trabalho de ramificação para Git, os principais são:

  • Branch Master/Main
  • Branch Develop
  • Branch Feature
  • Branch Hotfix

Como funciona o Git Flow?

Como funciona o git flow

O Git Flow atua com as branches Develop e Master, sendo estas as duas principais, além de três branches de suporte, Release, Feature e Hotfix que são branches temporários.

As duas branches principais são usadas para registrar o histórico do projeto, por exemplo, na branch Master é armazenado o histórico do lançamento do projeto, e enquanto a branch Develop funciona como uma ramificação de integração para recursos.

É preferível que todos os commits na branch Master estejam registrados com o número de versão.

Estrutura do fluxo do Git Flow:

Git Flow - Estrutura do Fluxo

Em particular, o Git ajuda os desenvolvedores a colaborar no código com colegas de equipe; combinar recursos poderosos como commits e branches e a criar estratégias específicas, além de reduzir o tempo necessário para gerenciar o controle de versão.

Branch Master/Main

O objetivo da ramificação principal no fluxo de trabalho do Git é conter código pronto para produção que pode ser liberado.

No fluxo do Git, a ramificação principal é criada no início de um projeto e é mantida durante todo o processo de desenvolvimento.

A ramificação pode ser marcada em vários commits para significar diferentes versões ou lançamentos do código, e outras ramificações serão mescladas na ramificação principal depois de terem sido suficientemente testadas.

Branch Develop

ramificação develop é criada no início de um projeto e mantida durante todo o processo de desenvolvimento.

Contém o código de pré-produção com recursos recém desenvolvidos que estão em processo de teste.

Quando os recursos são concluídos, eles são mesclados no desenvolvimento.

Veja também: Como aprender programação de forma gratuita

Durante o ciclo de desenvolvimento, uma variedade de ramificações de suporte é usada:

Branch Feature

Normalmente, o trabalho realizado nas ramificações de lançamento envolve retoques finais e pequenos bugs específicos para liberar um novo código, com código que deve ser tratado separadamente da ramificação de desenvolvimento principal.

As ramificações de recursos são usadas para desenvolver novos recursos para os próximos lançamentos. 

Branch Hotfix

No fluxo do Git, a ramificação de hotfix é usada para abordar rapidamente as alterações necessárias em sua ramificação principal.

A base da ramificação de hotfix deve ser sua ramificação principal e deve ser mesclada de volta nas ramificações principal e de desenvolvimento.

Mesclar as alterações da ramificação de hotfix de volta na ramificação de desenvolvimento é fundamental para garantir que a correção persista na próxima vez que a ramificação principal for lançada.

Branch Release

A ramificação release deve ser usada ao preparar novas versões de produção. Suponhamos que você adicione todos os recursos necessários e o projeto agora está pronto para ser lançado ao público.

Durante esse tempo, se descobrir algum bug, é possível resolver diretamente no mesmo branch, depois mesclar as alterações de volta para o branch de desenvolvimento e, finalmente, o enviar para o main como um código em tempo real.

Agora que abordamos o que é Git Flow, vamos dar uma olhada em como usar o fluxo do Git.

Basicamente, é possível implementa-lo de duas formas: através dos comandos básicos do Git, e por meio da CLI que ajuda a simplificar o fluxo.

Veja como funciona o Git Flow utilizando as duas formas.

Primeiro instale a CLI do Git Flow, escolhendo a opção compatível com seu sistema operacional.

Criando uma Branch Develop

Criando uma branch develop

Criando uma Branch Develop a partir da Branch Master. Para isso, utilize o comando básico do Git:

  • git checkout -b develop

Ou utilize a CLI do Git-flow:

  • git flow init

Este comando demanda algumas perguntas durante a execução, basta responder e sua Branch Develop será criada.

Branch Feature

Criando uma branch feature por meio dos comandos básicos do Git:

  • git checkout develop
  • git checkout -b name-feature

Ou utilize a CLI do Git-flow:

  • git flow feature start name-feature

Finalização

Por meio dos comandos básicos do Git:

  • git checkout develop
  • git merge name-feature

Ou utilize a CLI do Git-flow:

  • git flow feature finish name-feature

Veja também: Os melhores cursos gratuitos de programação com certificado

Branch Hotfix

Criando uma Hotfix por meio dos comandos básicos do Git:

  • git checkout master
  • git checkout -b name-hotfix

Ou utilize a CLI do Git-flow:

  • git flow hotfix start name-hotfix

Finalização da Hotfix através dos comandos básicos do Git:

  • git checkout master
  • git merge name-hotfix
  • git checkout develop
  • git merge name-hotfix
  • git tag name-hotfix

Ou utilize a CLI do Git-flow:

  • git flow hotfix finish name-hotfix

Branch Release

Criando uma Release por meio dos  comandos básicos do Git:

  • git checkout develop
  • git checkout -b release/1.0.0

Ou utilize a CLI do Git-flow:

  • git flow release start 1.0.0

Finalização

Por meio dos comandos básicos do Git:

  • git checkout master
  • git merge release/1.0.0
  • git checkout develop
  • git merge release/1.0.0
  • git tag 1.0.0

Com a CLI do Git-flow:

  • git flow release finish 1.0.0

Feito! Agora você já sabe o que é Git, e como utilizar os comandos do Git e a CLI git-flow na prática!

Conclusão

Bem, esses são alguns fluxos de trabalho de ramificação mais conhecidos do Git Flow e existem muitos outros de acordo com a necessidade da equipe. 

Qual é o fluxo de trabalho usado em sua equipe?

Deixe nos comentários!

Clique no botão abaixo para acessar mais de 1400 cursos completos e com certificado válido.

ACESSAR CURSOS COM CERTIFICADO

Invista em você e conquiste uma excelente carreira profissional na área da tecnologia.

Enfim, espero que tenha gostado deste conteúdo pois preparamos ele para realmente te ajudar em seus estudos sobre desenvolvimento de software.

Eu vou ficando por aqui…

Até a próxima e um forte abraço!!

Tags: | |

Sobre o Autor

Programador Viking
Programador Viking

DICA EXTRA: Algumas pessoas estão me perguntando qual é o curso que recomendo para quem deseja aprender programação, mesmo sem ter qualquer conhecimento sobre o assunto. Minha recomendação, tanto para quem está iniciando, como para quem já possui mais experiência, é essa AQUI...

2 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.


plugins premium WordPress