Skip to content

Repositório para exemplificar o uso do gitflow simplificado e processo de desenvolvimento e deploy de aplicações

Notifications You must be signed in to change notification settings

saulobr88/git-flow-dia-a-dia

Repository files navigation

Fibonacci Espiral

Git (Flow) no dia a dia

Introdução

[Work in progress] Este documento está em construção

Existem muitas formas de se trabalhar com git, para versionar, distribuir e organizar a linha do tempo do desenvolvimento de um projeto de software (não se limitando apenas a códigos de linguagens de programação). Dentre os fluxos de trabalho (workflows), podemos citar os modelos Centralized, Feature Branch Workflow, Gitflow e Fork & Merge. Cada um dos modelos possui pontos positivos e pontos negativos, conforme é descrito em Comparing Git Workflows .

Levando em conta a minha experiência trabalhando com equipes e criando fluxos de CI/CD, eu cheguei na conclusão que utilizar o gitflow é o ideial para trabalhar em equipe, com ou sem a utilização da prática de pair programming e até mesmo em repositórios que só há um contribuidor (a famosa "EUquipe").

Neste sentido, um roteiro de apoio para adaptação de equipes possui função importante para alinhar o que se espera como prática de trabalho em repositórios git. Sérgio Vieira apresenta um roteiro para adoção de um fluxo de trabalho com o git similar ao gitflow. Aqui eu tento trazer um fluxo simplificado, de forma que possa ser adotado por equipes de forma rápida sem grandes prejuizos de tempo e esforço.

A Figura abaixo apresenta o Diagrama original do Gitflow. Nos primeiros estágios de um projeto de software (primeiras sprints) ramos (branches) de hotfixes e bugfixes podem ser tratados como ramos de features, que devem possuir issues registradas no repositório. O Github, Bitbucket e Gitlab possuem o recurso de abrir issues nos repositórios.

Git flow Diagram Diagrama original do Gitflow

Ramos de relase de software podem ser substituidos pelos ramos develop e main (ou master). Como hoje em dia é comum haver pipelines de CI/CD, uma estratégia para reduzir os passos do processo é unificar o processo de deploy com algum evento nos ramos selecionados. Utilizar tags para disparar eventos de deploy também é uma opção válida.

Para informações mais detalhadas, instruções e comandos git, há seções de textos com conteúdos que auxilam em tarefas comuns e situações que podem aparecer no cotidiano do desenvolvedor. O conteúdo está distribuido conforme segue.

Seções

Referências

About

Repositório para exemplificar o uso do gitflow simplificado e processo de desenvolvimento e deploy de aplicações

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published