मूल प्रश्न: मैं उस मूल से एक git रेपो को अलग कैसे कर सकता हूं जिससे इसे क्लोन किया गया था?
git branch -a
दिखाता है:
* master
remotes/origin/HEAD -> origin/master
और मैं उत्पत्ति के सभी ज्ञान और संबंधित संशोधनों को दूर करना चाहता हूं।
लंबा सवाल: मैं एक मौजूदा तोड़फोड़ रेपो लेना चाहता हूं और उससे कई छोटे गिट रेपो बनाना चाहता हूं। नए गिट रिपॉजिट्स में से प्रत्येक में सिर्फ संबंधित ब्रांच का पूरा इतिहास होना चाहिए। मैं रेपो को केवल उप-वर्ग के उपप्रयोग के लिए प्रून कर सकता हूं:
git filter-branch --subdirectory-filter path/to/subtree HEAD
लेकिन परिणामी रेपो में अभी भी मूल / मास्टर शाखा के तहत अब-परित्यक्त उपप्रकार के सभी संशोधन शामिल हैं।
मुझे एहसास है कि मैं -T ध्वज का उपयोग करने के लिए पहली जगह में तोड़फोड़ रेपो के प्रासंगिक उपप्रकार क्लोन करने के लिए git-svn कर सकता हूं। मुझे यकीन नहीं है कि अगर बाद git filter-branch --subdirectory-filter
में गिट रेपो की प्रतियों पर कई इंस्टेंटेशन चलाने की तुलना में यह अधिक कुशल होगा , लेकिन किसी भी मामले में, मैं अभी भी मूल के साथ लिंक को तोड़ना चाहूंगा।
--prune-empty
कि मैं गायब था।