Skip to content

Hibex-Solutions/ModernGitWorkflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Modern Git Workflow

Modern Git Workflow - A Simpler Way to Release Your Software

Git Workflow Moderno - Uma maneira mais simples de lançar seu software.

Tenho trabalhado a um tempo com vários fluxos Git para entrega de software dos mais variados sabores. Mas em essência, são alguma variação do famoso Gitflow. Porém o Gitflow funciona bem para o cenário relatado pelo prṕrio autor, mas existem alguns problemas para outros cenários.

Devido a esses problemas, o que tenho percebido nos projetos e equipes que venho trabalhando, é que as equipes precisam sempre fazer algum tipo de adaptação para usar o Gitflow em seu próprio contexto. Ao final, à pesar de dizerem estar usando o Gitflow, na verdade não estão. Estão usando um fluxo personalizado baseado em Gitflow.

Organizações notáveis também fizeram suas próprias personalizações baseadas no Gitflow. Como GitHub com seu GitHub flow, e GitLab com seu GitLab flow. Costumam dizer que se trata de uma versão "mais leve" do Gitflow.

O GitLab chegou até a registrar os problemas do Gitflow que os levaram a criar o GitLab flow neste artigo entitulado "The problem with Git flow".

Obviamente essas organizações à pesar de resolverem o problema, puxam bastante a sardinha para suas brasas. Normalmente acabam vinculando o fluxo Git que desenvolveram com suas ferramentas de gerenciamento de problemas.

O que quero aqui é propor um fluxo que considere as vantagens do Gitflow, mas também considere cenários modernos do desenvolvimento de software, e que abstraia a parte de gestão de projeto ou problemas, sem puxar a sardinha para quaisquer que sejam as ferramentas que venham a ser usadas.

Portanto, eis aqui nossos 10 objetivos:

  1. Ser naturalmente adaptável
  2. Ser compatível com Thunk Based Development
  3. Ser compatível com Feature Based Development
  4. Suportar manutenção de múltiplas versões
  5. Suportar versionamento semântico SemVer
  6. Ser compatível com integração contínua
  7. Ser compatível com implantação contínua
  8. Ser compatível com entrega contínua
  9. Ser compatível com desenvolvimento de softwares em containers
  10. Ter uma documentação simples disponível

About

Modern Git Workflow - A Simpler Way to Release Your Software

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors