Tengo un repositorio local de Git llamado 'esqueleto' que utilizo para almacenar esqueletos de proyectos. Tiene algunas sucursales, para diferentes tipos de proyectos:
casey@agave [~/Projects/skeleton] git branch
* master
rails
c
c++
Si quiero consultar la rama maestra para un nuevo proyecto, puedo hacer
casey@agave [~/Projects] git clone skeleton new
Initialized empty Git repository in /Users/casey/Projects/new/.git/
y todo es como lo quiero. Específicamente, la nueva rama maestra apunta a la rama maestra esqueleto, y puedo presionar y tirar para mover los cambios a la configuración básica del proyecto.
Sin embargo, lo que no funciona es si quiero clonar otra rama. No puedo obtenerlo, de modo que solo extraigo la rama que quiero, por ejemplo, la railsrama, y luego el nuevo repositorio tiene una masterrama que empuja y tira de la railsrama del repositorio de esqueleto , de forma predeterminada.
¿Hay una buena manera de hacer esto? O, tal vez esta no sea la forma en que Git quiere que yo estructurar las cosas, y ciertamente estoy abierto a eso. ¿Quizás debería tener múltiples repositorios, con el repositorio de esqueletos Ruby on Rails rastreando el repositorio de esqueletos maestro? Y cualquier proyecto individual que clone el repositorio de esqueletos de Ruby on Rails.
git checkout -b newbranch origin/branchiwantFuncionaría mejor? (sin la --trackopción)
git branch -amuestra?