Reorganizando meus projetos no Github me deparei com o problema de ter criado muitos branches locais e remotos e tudo estava uma grande bagunça. Os comandos que me ajudaram a resolver isto foram:
Dado os branches locais
macos-snow ~/project (master) git branch * master fix_counter rails3-version
Para criá-los remotamente use
macos-snow ~/project (master) git push --all
Ou para um branch específico
macos-snow ~/project (master) git push origin rails3-version
Para apagar branches locais
macos-snow ~/project (master) git branch -D rails3-version
Para apagar branches remotos
macos-snow ~/project (master) git push origin :rails3-version
Renomear branches locais
macos-snow ~/project (master) git branch -m old_branch new_branch
As referências que encontrei para renomear branches remotos não me foram úteis por isso fiz da forma mais prática renomeando o branch local, enviando para repositório e apagando o branch remoto antigo.
Referências:
- Help Github
- Git ready
Introdução
O que é Git?
Sistema de controle de versão distribuído onde não temos um repositório central e cada cópia do projeto principal torna-se um repositório local ou remoto.
O que é branch? Read full story »
1) No GitHub encontre o Clone URL do projeto.
2) Pelo terminal (Git Bash) entre na pasta onde será criado o projeto (Ex.: C:\projetos) e digite:
git clone git://github.com/nome_usuario_github/nome_projeto.git
3) Entre na nova pasta adicionada e crie um branch chamado working:
cd nome_projeto
git branch working master
4) Alterne para o branch working:
git checkout working
5) O branch onde estamos aparecerá com asterisco ao digitar:
git branch
master
* working
6) Crie um arquivo e adicione ao branch:
touch README.txt
git add README.txt
ou
git add .
ou
git add -i
- O primeiro adiciona o arquivo especificado, lembrando que README.txt é diferente de readme.txt.
- O segundo adiciona todos os arquivos modificados, excluídos ou incluídos.
- O terceiro adiciona interativamente(i). Uma lista será exibida para que cada arquivo seja incluído individualmente.
7) Faça o commit das alterações (ainda estamos no branch working) e depois liste os arquivos para ver o que temos:
git commit -m "Primeiro commit no branch working"
ls -la
8 ) Agora volte para o branch master e liste os arquivos:
git checkout master
ls -la
O arquivo README.txt não foi listado. Ele existe apenas no branch working, ou seja, o código original continua intacto.
É possível criar diversos branches e trabalhar uma parte do código em cada um deles sem alterar o branch original e depois juntá-los gradativamente assim que cada alteração fique pronta.
Consulta rápida dos comandos e fluxo do Git (Cheat Sheet)
Referências:
- Guia rápido para o GIT
- Micro Tutorial de Git




