Olá, galera.

Sou desenvolvedor backend com mais de 3 anos de experiência.

Em boa parte da minha carreira, sempre procurei manter meus códigos no github de forma organizada e bem documentada, seja para recapitulação/reprodução futura ou por uma necessidade de negócios (projetos freelances). Pois bem, durante esse processo além de documentar, fui aprendendo as formas de gerenciar um projeto, pessoal ou não, pequeno ou grande, e nesse artigo vou compartilhar um pouco desses aprendizados com vocês.

Como inicío o projeto

No início do projeto, costumo fazer a quantidade mínima de código na máquina para depois criar um repo no github. Esse mínimo pode ser um HelloWorld em qualquer linguagem.

No projeto adiciono os arquivos .gitignore, REAME.md e LICENSE.md (caso for um projeto para comunidade), logo em seguida crio meu repositório no github e sincronizo com o projeto da minha máquina local.

Como gerencio branchs

Uma boa prática para a se considerar é não fazer commit direto na branch master/main, portanto crio uma branch develop e trabalho sempre nela, pedindo merge request da develop para a master a cada alteração importante de código.

Outra maneira de gerenciar branchs é criar uma para cada fix,feat ou issue que adicionarmos ao projetos. Por exemplo:

Depois que essa funcionalidade está pronta, peço o merge request da branch <feat> add button in homepage para a master.

Como gerencio tarefas

Para as tarefas a serem feitas, gosto de criar uma issue com checkbox para cada tarefa, sempre em ordem de prioridade para facilitar:

Minhas issues

Dessa forma consigo controlar o que tem que ser feito, principalmente quando é um projeto freelancer que tem muita demanda.

Quando encontro um bug ou preciso criar uma nova feature, cadastro uma issue e atríbuo uma identificação à ela do tipo warning, bug ou feat:

Minhas issues

Obs.: Podemos criar uma branch para resolver cada issue.

Como escrevo minhas mensagens de commits

Gosto de seguir a convenção de commits para ter commits mais padronizados.

Conclusão

Minha intenção aqui era passar uma idéia básica de como pode ser feito o gerenciamento de projetos pessoais/profissionais no gitub com base na minha experiência. Elas podem ser adaptadas a cada necessidade.

Obrigado por ter lido até aqui, abraços.