की अपने आप में कुछ फाइलों के साथ दो Git संग्रह मान लेते हैं:क्या मैं उपनिर्देशिका से उप-विलय विलय कर सकता हूं?
ProjectA
+ a
+ b
ProjectB
+ foo/x
+ foo/y
+ bar/z
अब मैं PROJECTA में ProjectB से निर्देशिका foo
शामिल करना चाहते हैं।
जहां तक मैं समझता हूँ कि जब मैं git subtree add
prefix
कर रास्ता है कि यह प्राप्त भंडार में होना चाहिए है, इसलिए मैं के साथ खत्म होगा जब मैं
git subtree add --prefix=project_b --squash URL_of_ProjectB
कर
ProjectA
+ a
+ b
+ project_b
+ foo/x
+ foo/y
+ bar/z
क्या मैं किसी भी तरह से निर्दिष्ट कर सकता हूं कि मैं केवल लेआउट प्राप्त करने के लिए foo
प्राप्त करना चाहता हूं?
ProjectA
+ a
+ b
+ project_b
+ x
+ y
क्या यह ProjectA में ProjectA में और परिवर्तनों में विलय की प्रक्रिया को बदलता है? मैंने सोचा कि मेरा परिदृश्य बिल्कुल 'गिट सबट्री' के लिए है, लेकिन यदि ऐसा नहीं है, तो इसके साथ * क्या * पूरा किया जा सकता है? शायद मैं इसे बेहतर तरीके से अनुकूलित करने के लिए अपना फ़ाइल लेआउट बदल सकता हूं। – AndreKR
हां, जब भी आप ProjectB से ProjectA में परिवर्तनों को मर्ज करना चाहते हैं, तो आपको फ़िल्टर शाखा चरण फिर से करना होगा। 'गिट सबट्री' का मैन पेज 'गिट स्प्लिट' कमांड बताता है जो मैंने दिया 'फ़िल्टर-शाखा' कमांड के समान है। लेकिन यदि आप अपना लेआउट बदल सकते हैं तो शायद एक अलग भंडार में 'foo' के अवधारणा को निकालना बेहतर होगा और इसे दोनों परियोजनाओं के लिए एक उप-योग के रूप में जोड़ें। शायद यह बेहतर है क्योंकि बी बी किसी प्रकार का मुक्ति है? – gregor
यह समस्या है, यह वास्तव में नहीं है। अगर ऐसा होता, तो मैं इसे एक सबमिशन बनाउंगा। यह कुछ कोड है जो दो परियोजनाओं के बीच साझा किया जाता है ... देशों की सूची, कुछ टेम्पलेट इत्यादि। – AndreKR