У меня есть локальный репозиторий Git под названием 'skeleton', который я использую для хранения скелетов проекта. Имеет несколько веток для разных видов проектов:
[email protected] [~/Projects/skeleton] git branch
* master
rails
c
c++
Если я хочу проверить основную ветку для нового проекта, я могу сделать
[email protected] [~/Projects] git clone skeleton new
Initialized empty Git repository in /Users/casey/Projects/new/.git/
и все как я хочу. В частности, новая основная ветвь указывает на главную ветвь скелета, и я могу толкать и тянуть, чтобы перемещаться вокруг изменений в базовой настройке проекта.
Что не работает, однако, если я хочу клонировать другую ветку. Я не могу получить его, так что я только тянуть ветку я хочу, например, на rails
ветки, а затем новое хранилище имеет master
ветвь, которая толкает к и вытягивает из хранилища скелетов rails
ветки, по умолчанию.
Есть ли хороший способ сделать это? Или, может быть, это не тот способ, которым Git хочет, чтобы я структурировал вещи, и я, безусловно, открыт для этого. Возможно, у меня должно быть несколько репозиториев, с хранилищем скелетов Ruby on Rails, отслеживающим главное хранилище скелетов? И любой отдельный проект, клонирующий хранилище Ruby on Rails.