आप git filter-branch
के साथ ऐसा कर सकता है। असल में आप चाहते हैं:
- पहले से मिले लिंक का उपयोग करके, पहले प्रोजेक्ट में उप-पथ को एक नए भंडार में विभाजित करें।
- एक अनूठा शाखा पर दूसरी परियोजना के रिमोट को यह पुश।
दूसरा भंडार में उस शाखा लाओ, फिर सही उपनिर्देशिका में सूचकांक फिल्टर इसे करने के लिए git filter-branch
का उपयोग करें:
git filter-branch --index-filter '
git ls-files -sz |
perl -0pe "s{\t}{\tnewsubdir/}" |
GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
git update-index --clear -z --index-info &&
mv "$GIT_INDEX_FILE.new" "$GIT_INDEX_FILE"
' HEAD
अंत में, चेकआउट दूसरी परियोजना के master
शाखा (या आप कर रहे हैं जो कुछ भी शाखा उपयोग), फिर नई फ़िल्टर वाली शाखा में विलय करें।
वास्तव में एक ऑपरेशन बहुत भयानक नहीं है, सभी ने बताया। जैसा कि अलेक्जेंडरग्लैडश ने टिप्पणियों में नोट किया है, आप चरण 3 और 4 के स्थान पर subtree merging strategy का भी उपयोग कर सकते हैं।
गिटहब यूआरएल अब है: https://help.github.com/articles/splitting-a-subpath-out- में एक नए भंडार –