Matheus Tardivo

Code is poetry.

Movendo Um Branch Para O Master No Github

Quando eu começei a estudar Rails resolvi fazer um projetinho para botar em prática o que eu estava estudando. Pensei num projeto que também me ajudasse de alguma forma, e naquele momento, um grande problema que eu tinha era meu controle financeiro – veja bem, problemas financeiros eu ainda tenho e acho que sempre vou ter, mas estou falando apenas de controle :D

Na época a grande maioria dos livros só falavam sobre a versão 2 do Rails e por isso iniciei meu projeto nessa versão – no meu último post tem as fontes de estudo que usei.

Logo percebi que eu estava investindo muito tempo estudando uma versão antiga do Rails e resolvi passar a estudar a versão 3. Por consequência, eu tive que fazer uma mudança razoável na estrutura do meu projeto. Como a mudança foi grande pensei que fazer o merge desse código no master do repositório do github seria muito complicado, então resolvi criar um branch para a versão nova e trabalhar nele.

A questão é que esse novo branch acabou virando o principal e achei que a coisa ficou meio desorganizada. Solução: mover o branch para o master e renomear o branch para “rails2”. Cheguei até a cadastrar um issue para isso no github e ele ficou lá por muito tempo, até que hoje resolvi acertar esse problema.

Encontrei uma referência que me ajudou bastante a fazer essa mudança, mas no meu caso tive que fazer algumas pequenas alterações:

  1. No seu repositório do github, clicar em Admin e mudar o branch default para o branch de desenvolvimento.
  2. Renomear os branches locais (executar os comandos abaixo na sua cópia local sem clonar seu repositório depois da alteração do branch default):
    1
    2
    
    git branch -m master rails2
    git branch -m v1.1.0.rails3 master
    
    Onde: rails2 é o novo branch para manter o código antigo e v1.1.0.rails3 é o branch de desenvolvimento atual
  3. Ao invés de remover o master remoto, fiz o push forçado do código atual:
    1
    
    git push -f origin master
    
  4. Mudar novamente o repositório default no github para o master e depois apagar o branch antigo:
    1
    
    git branch origin :v1.1.0.rails3
    

E pronto! Agora o repositório ficou organizado da seguinte forma:

  • master: Código de desenvolvimento com o Rails na versão 3
  • rails2: Código da versão inicial utilizando Rails 2

E o branch v1.1.0.rails3 que era o de desenvolvimento se foi :D

Espero que isso seja útil pra quem também fez cagada confusão com seu repositório ou esteja tentando renomear um branch.