मैंने @ user292677 के विचार के साथ शुरुआत की, और अपनी समस्या को हल करने के लिए इसे परिष्कृत किया:
- नए-रेपो को गितुब में बनाएँ ।
- पुराने रेपो की अपनी स्थानीय प्रति से सीडी जिसे आप निकालना चाहते हैं, जो नई-रेपो मास्टर बनने वाली नई- प्रोजेक्ट शाखा को ट्रैक करने के लिए स्थापित की गई है ।
$ git push https://github.com/accountname/new-repo.git +new-project:master
नया गितुब रेपो समाप्त हो गया है। परिणाम है;
- नया गितुब भंडार जिसे नया-रेपो नाम दिया गया है ,
- जिसका
master
वर्ष रेपो के से मेल खाती है नई परियोजना , के साथ
- सभी इतिहास संरक्षित।
वास्तव में, मैंने पाया कि इस पद्धति का उपयोग करके, मैं शाखाओं के एक हाथ से चुने हुए चयन के साथ नया रेपो बना सकता हूं, जिसका नाम मैंने लिया है:
$ git push git@github.com:accountname/new_repo +new-project:master +site3a:rails3
इसका परिणाम यह है कि पहले से मौजूद साइट 3 ए शाखा अब नए रेपो में भी स्थानांतरित हो गई है और रेल 3 के रूप में दिखाई देगी । यह वास्तव में अच्छी तरह से काम करता है: नेटवर्क आरेख नए मास्टर और रेल 3 को पूरे इतिहास के साथ और एक दूसरे के लिए उनके सही संबंध में दिखाता है ।
2013-12-07 को अपडेट करें: एक अन्य प्रोजेक्ट के साथ इसका उपयोग किया, और सत्यापित किया कि यह नुस्खा अभी भी काम करता है।
अपडेट 2018-01-11: https प्रोटोकॉल के लिए GitHub अनुशंसा का उपयोग करने के लिए अद्यतित चरण 3.। पकाने की विधि अभी भी काम करती है।