Я почав з ідеї @ user292677 і вдосконалив її, щоб вирішити свою проблему:
- Створіть new-repo в github.
- CD у вашу локальну копію старого репо, з якого ви хочете витягнути, яка створена для відстеження гілки нового проекту, яка стане майстром нового репо .
$ git push https://github.com/accountname/new-repo.git +new-project:master
Нове ретро Github закінчено. Результат такий;
- нове сховище Github з назвою new-repo ,
- чий
master
відповідає новому проекту старого репо , с
- вся історія збережена.
Насправді я виявив, що за допомогою цього методу я міг створити нове репо з ручним вибором гілок, перейменованих так, як я хотів:
$ git push git@github.com:accountname/new_repo +new-project:master +site3a:rails3
Результатом є те, що раніше існуюча гілка site3a тепер також переміщена до нового репо і буде відображатися як рейли3 . Це працює дуже добре: мережева схема показує нового ведучого та рейки3 з повною історією та правильним співвідношенням один з одним.
Оновлення 2013-12-07: Використовували це для іншого проекту та перевіряли, що цей рецепт все ще працює.
Оновлення 2018-01-11: оновлений крок 3. для використання рекомендації GitHub для протоколу https. Рецепт все ще працює.