Escrito por Eduardo Moser,

5 minutos de leitura

Gestão de repositórios Git para controle e produtividade no desenvolvimento de software

Entenda como funciona um repositório git para ter controle do código fonte e trabalhar de forma produtiva com outros desenvolvedores.

Compartilhe este post:

Quando estamos iniciando o desenvolvimento de um software, é comum salvar no nosso computador os arquivos com os códigos fonte do projeto. Inicialmente, isso funciona bem; os problemas começam quando convidamos mais uma pessoa para participar do projeto: temos que enviar uma cópia para ela e, quando ela termina, é preciso ter atenção para juntar tudo o que foi feito e o projeto continuar funcionando. Essa trabalheira é normal na etapa de projeto, mas quero trazer aqui uma forma de se resolver isso.

Talvez você possa ter ouvido falar de Git, Git Flow, branch e pull request sem pegar a essência da coisa, então, antes de avançarmos, gostaria de colocar uma história para tentar auxiliar.

Imagine que o seu guarda-roupas está com a madeira desgastada em uma das portas e você decide que é hora de fazer o conserto. Aproveitando o momento, resolve colocar um espelho nessa porta. O que você deve fazer? Contratar um marceneiro para envernizar a madeira e um vidraceiro para fazer o espelho, certo? Assim, ambos vão a sua casa, recebem as instruções, tiram uma foto do estado atual do guarda-roupas e se vão.

O marceneiro leva a porta para sua oficina, faz o processo de limpeza, envernizamento e troca o puxador; quando conclui o trabalho, instala de volta no armário e se assegura que tudo está funcionando. Em seguida, o vidraceiro chega com o espelho; porém, percebe que o novo puxador não permite sua instalação. Tira, então, uma nova foto, ajusta e, por fim, instala o espelho na porta.

Apesar de estranho, você conseguiu acompanhar tudo até aqui? Ótimo! Você entendeu tudo sobre gestão de código fonte usando Git. Continue comigo para aprofundarmos.

Na história contada, sua casa é o repositório onde tudo deve ficar armazenado, inclusive o guarda-roupas. No mundo dos repositórios git, isso é a branch main, onde consta o código completo da aplicação que está funcionando, que necessita manutenção e implementação de novas funcionalidades. Então, você contratou dois desenvolvedores sob o codinome de marceneiro e vidraceiro. A ação de tirar uma foto do móvel antes de iniciar o trabalho, no mundo git, é a execução do comando git clone, que garante acesso a uma cópia do código que está na main. No entanto, o desenvolvedor vai levar para a oficina e realizar a sua demanda sobre a foto – essas oficinas podem ser chamadas de branch-marceneiro e branch-vidraceiro.

Então, o desenvolvedor de codinome marceneiro realiza a manutenção no código e manda de volta para a casa, ou seja, executa os comandos git commit para confirmar as alterações e git push para enviar o código com as alterações para a central de gerenciamento do repositório. Quando o marceneiro coloca a porta de volta no guarda-roupas, realiza a ação Pull Request (PR). Quando você autoriza e ele faz a instalação da porta é porque ele realizou o merge da branch-marceneiro com a branch main, sendo que agora a branch main tem um novo código principal que contempla a alteração vinda da branch-marceneiro, que é a porta envernizada e com novo puxador.

Quando o vidraceiro terminar de confeccionar o espelho, também tomará a ação de levá-lo para sua casa – mais uma vez os comandos git commit para informar que terminou as atividades e git push para enviar o código com as alterações para a central de gerenciamento do repositório. Chegando na casa, ele avisa que deseja instalar o espelho na porta, Pull Request, porém, você avisa que não será possível a instalação pois houve um conflito. Isso aconteceu porque a foto que o vidraceiro tinha estava desatualizada e não contemplava a alteração que o marceneiro fez. Sendo assim, ele deve voltar para a oficina com um uma foto atualizada e realizar o ajuste, ou seja, se dirigir a branch-vidraceiro, pegar a foto atualizada da branch main, executando o comando git pull, realizar os ajustes e enviar novamente para casa.

Prontinho! Agora, quando o Pull Request for aprovado, você terá a branch main com a nova funcionalidade implementada e disponível para receber novas entregas.

Ao usar um repositório git, o trabalho se torna produtivo, fazendo com que duas ou mais pessoas possam trabalhar ao mesmo tempo no mesmo projeto e você não perde o gerenciamento do código fonte. Em caso de conflito, o repositório alerta o problema e faz com que seja ajustado antes de causar um defeito no projeto – isso é o Git Flow.

Espero ter ajudado nos seus estudos! Caso queira conhecer um pouco mais sobre o Git, consulte a Documentação Oficial.

Compartilhe este post: