मुझे कुछ ऐसा करने की ज़रूरत है, लेकिन मैं अनिवार्य रूप से एक सबप्रोजेक्ट को रेपो से दूसरे में ले जाना चाहता था। इसके बजाय मैंने fetch का उपयोग करना था, क्योंकि यह किसी भी स्रोत से वस्तुओं को ला सकता है।
तो, मूल रूप से, मैंने एक नई शाखा बनाई, उस शाखा में अनियंत्रित सामान हटा दिया, फिर शाखा को एक रेपो से दूसरे में खींचने के लिए गिट लाया। एक बार मेरे पास वस्तुओं के बाद, चाल चल गई।
उदा।
भंडार मूल सामग्री है कि पर:
cd /path/to/other/repository
git fetch /path/to/source/repo temp:temp
जहां अस्थायी: अस्थायी साधन
git checkout -b temp master
git rm -r Unneeded_stuff
git commit -m 'pruning'
तो फिर तुम एक पूरी तरह से अलग एक (असंबद्ध) में एक रिपोजिटरी से उस शाखा प्राप्त कर सके "स्रोत पर अस्थायी लाएं और इसे यहां अस्थायी रूप से सहेजें"। वहां से आप परिणाम को अपने मास्टर में विलय कर सकते हैं।
git merge temp
फिर आप पहले मामले में यह कुछ आप कभी भी मूल रेपो साथ मर्ज करना चाहते नहीं है के बाद से, अस्थायी शाखाओं को हटा सकते हैं, और दूसरे मामले में आप इसे विलय कर दिया है।
मुझे यकीन है कि इन चरणों को थोड़ा संकुचित किया जा सकता है, लेकिन यह सेट अच्छा और स्पष्ट लगता है।
स्रोत
2011-06-28 05:46:58
ध्यान दें कि यह http://stackoverflow.com/questions/359424/detach-subdirectory-into-separate-git-repository (जैसा कि जिम डेलाहंट अपने उत्तर में कहता है) का डुप्लिकेट है। –