Professor Marco Antonio Andrade

Trabalhando com branchs

23/10/2018 - 3 mins de leitura

Criando um novo branch

Ao desenvolver uma nova funcionalidade da aplicação é comum que crie-se uma nova ramificação (branch), implementar e testar, para somente ao final mesclar (merge) como o código que está na branch master, evitando-se assim, que as alterações na branch criada quebrem a branch master. A branch é criada com uma cópia de tudo que está armazenado na branch master. Para criar uma branch utilize o comando:

git branch funcionalidade_x

Listando as branchs do projeto

Para listar as branchs do projeto utilize o seguinte comando:

git branch

Alternando entre os branchs

Para mudar de branch utilize o comando:

git checkout funcionalidade_x
git status

Enviando a branch para o repositório remoto

Para enviar os commits da branch criada para o repositório remoto utilize o seguinte comando:

git push -u origin funcionalidade_x

Mesclando branchs

Geralmente, ao final do desenvolvimento de uma funcionalidade que está contida em uma branch é necessário mesclar com a branch master. Para isso, primeiro retorne para a branch master, e em seguida utilize o comando:

git checkout master
git merge funcionalidade_x

Assim, o conteúdo da branch funcionalidade_x será mesclado a branch master.

Removendo branchs

Você pode remover as branchs que foram mescladas ou são descartáveis, voltando a branch master, e em seguida utilizando os seguintes comandos:

git checkout master
git branch -d funcionalidade_x

Resolvendo conflitos

Na branch master crie um arquivo contato.html e adicione o seguinte conteúdo:

<h1>Página de contato</h1>

Faça o commit das alterações (na branch master):

git add contato.html
git commit -m "Adicionando página de contato"

Agora crie o branch dev_maria:

git branch dev_maria
git checkout dev_maria

Na branch dev_maria altere para ficar com o seguinte conteúdo:

<h1>Página de contato</h1>
<h2>Informe os dados para contato</h2>

Faça o commit das alterações (na branch dev_maria):

git add contato.html
git commit -m "Adicionando subtitulo"

Retorne ao branch master e crie o branch dev_jose:

git checkout master
git branch dev_jose
git checkout dev_jose

Na branch dev_jose altere para ficar com o seguinte conteúdo:

<h1>Página de contato</h1>
<h2>Dados para contato</h2>

Faça o commit das alterações (na branch dev_jose):

git add contato.html
git commit -m "Adicionando subtitulo na página de contato"

Observer que as branchs dev_maria e dev_jose alterado o mesmo local do arquivo.

Retorne ao branch master e faça o merge da branch dev_maria:

git checkout master
git merge dev_maria

Até aqui tudo funcionando, a branch master foi atualizada de acordo com a branch dev_maria. Agora vamos fazer o merge da branch dev_jose na branch master:

git merge dev_jose

Observe que apareceu uma mensagem informando sobre o conflito no arquivo contato.html. Abra esse arquivo em um editor de textos, como o VS Code, e observe que os conflitos ficam destacados no código:

<h1>Página de contato</h1>
<<<<<<< HEAD
<h2>Informe os dados para contato</h2>
=======
<h2>Dados para contato</h2>
>>>>>>> dev_jose

Após resolve-los, ou seja, definir o que ficará ou não código, faça o commit das alterações:

git add contato.html
git commit -m "Resolvendo conflitos"

Clonando branchs do repositório remoto

O branch baixado, por padrão, a partir do repósitorio remoto é o master. Assim, para listar todos os branchs disponíveis utilize o comando:

git branch -a

E agora, para clonar um dos branchs, disponíveis no repositório remoto, utilize o comando:

git checkout -b nome-do-branch origin/nome-do-branch

Uma outra opçao seria clonar diretamente um determinado branch:

git clone -b nome-do-branch endereço-do-repositório
Este site usa cookies próprios e de terceiros para melhorar os seus serviços, elaborar informação estatística e mostrar conteúdos ou serviços personalizados através da análise da sua navegação. Para aceitar o seu uso, você pode clicar em Aceitar ou continuar navegando. Além disso, você pode configurar ou rejeitar o uso de cookies ajustando suas Configurações. Para obter mais informações sobre o uso de cookies e seus direitos, acesse nossa Política de Cookies