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 rails
rama, y luego el nuevo repositorio tiene una master
rama que empuja y tira de la rails
rama 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/branchiwant
Funcionaría mejor? (sin la --track
opción)
git branch -a
muestra?