Eu tenho um repositório Git local chamado 'esqueleto' que eu uso para armazenar esqueletos de projetos. Possui alguns ramos, para diferentes tipos de projetos:
casey@agave [~/Projects/skeleton] git branch
* master
rails
c
c++
Se eu quiser verificar a ramificação principal de um novo projeto, eu posso fazer
casey@agave [~/Projects] git clone skeleton new
Initialized empty Git repository in /Users/casey/Projects/new/.git/
e tudo é como eu quero. Especificamente, o novo ramo mestre aponta para o ramo mestre do esqueleto, e eu posso pressionar e puxar para mover as alterações na configuração básica do projeto.
O que não funciona, no entanto, é se eu quero clonar outro ramo. Não consigo obtê-lo, de modo que apenas puxo a ramificação que desejo, por exemplo, a rails
ramificação e, em seguida, o novo repositório possui uma master
ramificação que envia e extrai da rails
ramificação do repositório esqueleto , por padrão.
Existe uma boa maneira de fazer isso? Ou talvez não seja dessa maneira que o Git queira que eu estruture as coisas, e certamente estou aberto a isso. Talvez eu devesse ter vários repositórios, com o repositório esqueleto do Ruby on Rails rastreando o repositório mestre de esqueletos? E qualquer projeto individual que esteja clonando o repositório de esqueletos do Ruby on Rails.
git checkout -b newbranch origin/branchiwant
funciona melhor? (sem a --track
opção)
git branch -a
mostra?