पर जाएं, मैं अपने रेपो में एक नई शाखा बनाना चाहता हूं जिसमें केवल मास्टर में एक विशिष्ट निर्देशिका से फ़ाइलें शामिल हों और इसका इतिहास दबाएं वह शाखा एक नई भंडार के लिए।गिट केवल एक निर्दिष्ट निर्देशिका और उसके इतिहास के साथ एक नई शाखा बनाएं, फिर नए भंडार
... या कुछ समकक्ष - उदाहरण के लिए शाखा बनाने के बिना किसी नए रेपो में एक निर्देशिका को एक नई रिपॉजिटरी में धक्का देना संभव हो सकता है।
अब तक मुझे लगता है कि निम्नलिखित काम करेंगे, लेकिन मुझे आश्चर्य है कि क्या एक और सुव्यवस्थित तरीका है।
1 - एक खाली शाखा बनाएँ:
git symbolic-ref HEAD refs/heads/<new-branch>
rm .git/index
git clean -fdx
2 - चेकआउट गुरु से एक निर्देशिका:
git checkout master <paths> ...
git add <paths> ...
git commit
3 - नई दूरस्थ करने के लिए पुश शाखा:
git push -u <remote-URL> <new-branch>
4 - फिर, नए रेपो में, मास्टर के साथ शाखा मर्ज करें:
git checkout -t origin/<new-branch>
git checkout master
git merge <new-branch>
git branch -d afterimage
git branch -d -r afterimage
मैं Detach subdirectory into separate Git repository के बराबर कुछ करने का प्रयास कर रहा हूं, लेकिन git filter-branch
गड़बड़ के बिना।
... लेकिन उपनिर्देशिका के लिए इतिहास निकालने के लिए आपको वास्तव में * गिट फ़िल्टर-शाखा 'का उपयोग करने की आवश्यकता है। इसके बिना, आपको बस फाइलें मिलती हैं। –
मुझे वास्तव में आपके द्वारा लिंक किए जाने वाले पोस्ट का पालन करने का ब्याज नहीं दिखाई देता है। जिस तरह से आप काम का प्रस्ताव देते हैं, वही कर रहे हैं, लेकिन यह बलपूर्वक बल है, और यह आपके इतिहास या भंडार डेटा को साफ नहीं करेगा। – CharlesB