17 de outubro de 2011

Branches remotos no git

Aqui no trabalho estamos desenvolvendo um produto e precisamos lidar com branches no git.

Tínhamos muitas dúvidas, pesquisamos, conversei com o @gilsonfilho e @rr_martins (eles manjam) e tracei nosso modelo de trabalho. Recomendo estudar o Git Community Book.

Se você trabalha ou precisa trabalhar em grupo com o git, mas não usa os branches ainda, seguem algumas dicas de comandos.

Você criou um branch local, fez seu commit e agora quer criá-lo no seu repositório remoto. Simples:
$ git push meu_repo_remoto meu_branch

Agora, por algum motivo, você precisa salvar seu branch local com um nome diferente lá no repositório remoto:
$ git push meu_repo_remoto meu_branch_local:meu_branch_remoto

Você já terminou seu trabalho nesse branch, fez o merge com o master e agora quer apagá-lo do repositório remoto? Simples:
$ git push meu_repo_remoto :meu_branch_remoto_que_nao_quero_mais


Existe também a situação de você fazer clone de um repositório com alguns branches já existentes e querer continuar o desenvolvimento naquele branch específico. Suponhamos que nesse repositório remoto exista o branch painel-de-controle e você quer mexer em algum programa nele. Para isso, depois do git clone use:
$ git checkout -b painel-de-controle origin/painel-de-controle

Isso faz com que seu branch painel-de-controle fique ligado ao branch painel-de-controle existente no repositório que você acabou de clonar, o origin. Depois disso, é só fazer commit e push normalmente.

Use branches (vou escrever mais sobre isso em breve). Branches, são ótimos!

Se você tem alguma dica pra ajudar, comenta aí.

(Leia a parte 2 desse mesmo assunto)