आप केवल चीनी मिट्टी के बरतन गिट कमांड का उपयोग करके एक अलग मास्टर शाखा बना सकते हैं :
git init
touch GO_AWAY
git add GO_AWAY
git commit -m "GO AWAY - this branch is detached from reality"
जो हमें अशिष्ट संदेश के साथ एक मास्टर शाखा देता है (आप अधिक विनम्र होना चाहते हैं)। अब हम अपनी "वास्तविक" शाखा बनाते हैं (आइए इसे SVN के सम्मान में ट्रंक कहते हैं ) और इसे मास्टर से तलाक दें :
git checkout -b trunk
git rm GO_AWAY
git commit --amend --allow-empty -m "initial commit on detached trunk"
प्रेस्टो, तुमसे मिलके ख़ुशी हुई! gitk --all उनके बीच कोई लिंक नहीं होने के साथ मास्टर और ट्रंक दिखाएगा ।
"जादू" यहाँ यह है कि --amend कारणों Git प्रतिबद्ध एक नया बनाने के लिए वर्तमान प्रधान के रूप में ही माता पिता के साथ प्रतिबद्ध है, तो यह करने के लिए प्रमुख बिंदु हैं। लेकिन वर्तमान HEAD के पास माता-पिता नहीं है क्योंकि यह भंडार में प्रारंभिक प्रतिबद्ध है, इसलिए नए HEAD को एक भी नहीं मिलता है, जिससे वे एक दूसरे से अलग हो जाते हैं।
पुराने हेड प्रतिबद्ध जीआईटी-जीसी द्वारा हटाए नहीं जाते हैं क्योंकि रेफ / हेड / मास्टर अभी भी इसे इंगित करते हैं।
--Allow-खाली झंडा केवल जरूरत है क्योंकि हम एक खाली पेड़ के लिए प्रतिबद्ध हैं है। अगर git rm के बाद कुछ git ऐड होते हैं तो यह आवश्यक नहीं होगा।
सच में, आप किसी भी समय एक रिपॉजिटरी ब्रांच बना सकते हैं, रिपॉजिटरी में शुरुआती कमिटमेंट को ब्रांच करके, उसके ट्री को डिलीट करके, अपने डिटैच्ड ट्री को जोड़कर, फिर git कमिट कर सकते हैं --amend ।
मुझे पता है कि यह इस सवाल का जवाब नहीं देता है कि रिमोट रिपॉजिटरी पर डिफ़ॉल्ट शाखा को कैसे संशोधित किया जाए, लेकिन यह एक अलग शाखा बनाने के तरीके पर एक साफ जवाब देता है।