У мене є локальне сховище Git під назвою "скелет", яке я використовую для зберігання скелетів проектів. У ньому є кілька відділень для різних проектів:
casey@agave [~/Projects/skeleton] git branch
* master
rails
c
c++
Якщо я хочу перевірити головну гілку для нового проекту, я можу це зробити
casey@agave [~/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.
git checkout -b newbranch origin/branchiwant
краще працювати? (без --track
опції)
git branch -a
показує?