image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Felipe Souza
Felipe Souza21/10/2023 11:31
Share
Suzano - Python Developer #2Recommended for youSuzano - Python Developer #2

Git, Github e Gitflow

  • #GitHub
  • #Git

Git

é o Principal e mais utilizado sistema de controle de versão distribuído.

Ele é utilizado localmente para fazer o controle de versão.

Características:

Ser open-source e gratuito

Possuir ramificações(branch) e fusões (merge) de forma eficiente

É leve, rápido e eficiente.

Github

É um hub, plataforma de hospedagem para arquivos e códigos de controle de versão e colaboração utilizando o sistema do git.

Características:

É o hub mais famoso e tem uma comunidade ativa.

É utilizado mundialmente e pela maioria das empresas de tecnologia

Gitflow

É um modelo de fluxo de trabalho utilizada por equipes de desenvolvimento de software.

Ele se destaca por auxiliar na organização do versionamento do código utilizando ramificações Branchs.

Objetivo do gitflow

O principal objetivo é organizar as Branchs dentro dos repositórios, organizando o processo de Novas funcionalidades, Correções de bugs e Lançamento de versões.

Organização de branchs

O gitflow trabalha Com duas branchs principais a Develop e a Main/Master que duram todo o processo de desenvolvimento, ou seja para sempre.

Ele também utiliza três branchs de suporte, Feature, Release e Hotfix que são temporários e duram ate realizar o merge com as branches principais.

Main/Master

É a branch principal ou branch de produção.

É a branch mais importante do projeto pois o que estiver nela será o que estará rodando na sua aplicação.

Develop

É a branch onde contém o código em progresso para o próximo deploy antes de ser mesclado na branch Master.

É uma linha do tempo de desenvolvimentos recentes, pois todas as etapas do desenvolvimento passam na develop.

Feature

São Branchs criadas sempre a partir da branch develop utilizadas para o desenvolvimento de funcionalidades especificas.

Sempre que a feature é finalizada, ela é mergeada na branch develop e Após o merge a branch é excluída.

O nome das branches feature normalmente segue uma convenção, como por exemplo:

feature/nome-da-feature

Feature/menu-bar

Feature/article-section

Hotfix

São Branches criadas a partir da branch master para realizar a correção de bugs e erros imediatos.

Quando finalizado a correção, ela é mergeada nas branch master e develop, Após o merge a branch é excluída.

As Branches Hotfix seguem a convenção: hotfix/nome-do-fix

Release

Uma vez que etapa de desenvolvimento esteja concluida, Com todas as features e Hotfix mergeados a develop.

Se quisermos mesclar isso na Main/master, teremos que criar uma branch release, que servira como ambiente de homologação e caso haja algum bug e alteração, ela deve ser sincronizada com a develop.

As branchs Release seguem a convenção de nome a seguir:

release/versao

   release/1.0.0

  • o primeiro numero é o major, que indica mudanças significativas no software, com grandes recursos.
  • o segundo numero é o minor, que indica novos recursos, que não haverá quebra de compatibilidade.
  • o terceiro é o patch, que indica correção de bugs e erros, sem quebra de compatibilidade.

Assim como as outras branches de suporte, ela é removida após realizar os teste do merge com a master.

Exemplo do gitflow

image

Share
Recommended for you
Microsoft 50 Anos - GitHub Copilot
Microsoft AI for Tech - GitHub Copilot
Ri Happy - Front-end do Zero #2
Comments (1)

J

Janderson - 21/10/2023 16:32

Conteúdo TOP.

Recommended for youSuzano - Python Developer #2