Entendendo sobre branch e pull request

Catarina Manzieri
reprogramabr
Published in
3 min readJul 17, 2019

Nesse artigo, vamos entender o que significa esses dois itens, como e quando utilizá-los.

Branch

O que é branch? É de comer?

Branch, em tradução literal, significa “ramo”. No mundo da programação, ela tem o mesmo significado: uma branch é uma ramificação do seu projeto.

Os repositórios no GitHub funcionam como uma árvore. Quando criamos um repositório, ele automaticamente é iniciado com a branch master, que é equivalente ao tronco da sua árvore, ou seja, é a parte principal do seu projeto. As próximas branches são secundárias e, portanto, ramos da branch master.

https://www.caelum.com.br/apostila-java-testes-spring-design-patterns/imagens/02/git_merge.png

Em aplicações desenvolvidas por mais de uma pessoa, é uma boa prática que além da master, cada desenvolvedor crie e desenvolva seu código em sua própria branch, que pode ter qualquer nome.

E quando a minha branch vai se juntar com a master? Como funciona?

Vamos imaginar a criação de um site com 4 páginas (por exemplo: “página inicial”, “sobre nós”, “novidades” e “contato”) em que cada desenvolvedor será responsável por uma página.

Durante o desenvolvimento de cada página, cada programador irá codar e commitar para sua própria branch. Ao finalizar essa tarefa, aquela branch estará pronta para ser incorporada na branch master, processo que chamamos de merge.

O processo de merge serve para fundir as duas branches e fazemos isso através do pull request.

Pull request

Quando subimos nossas atualizações para o repositório, na nossa branch irá aparecer no GitHub um botão como esse:

Ao clicar nele, o próprio GitHub automaticamente analisa o commit da sua branch com o commit mais recente da master, para verificar se há conflitos (informações diferentes numa mesma linha do código). Se não houver conflito, aparecerá essa mensagem:

E então é só concluir o pedido de pull request. Um outro desenvolvedor desse projeto (geralmente é definido entre a própria equipe quem fará isso) irá analisar e aceitar o seu pull request, ou pedir para que você faça alterações. Quando tudo estiver certo, sua parte do código fará parte também da branch master, ou seja, estará na versão final do projeto!

Espero que essa explicação tenha ficado clara! Qualquer outra dúvida, podem deixar nos comentários. :)

--

--