2008-11-05 9 views
6

मेरे पास रिमोट फू के साथ एक गिट भंडार है।गिट: रिमोट से एक अलग रास्ते में काम कैसे विलय करें?

foo, एक वेब अनुप्रयोग है उसकी जड़ में सीधे कुछ फ़ाइलों और dirs शामिल हैं:

Rakefile 
app 
... 
public 
script 

मेरा मुख्य Git भंडार एक बड़ा प्रणाली है जो यह वेब एप्लिकेशन शामिल है। मैं foo से काम खींचना चाहता हूं, लेकिन मुझे web dir के अंदर रहने के लिए फ़ाइलों की आवश्यकता है। तो उन्हें web/app, web/public, आदि

मैं एक सबमिशन के रूप में foo का उपयोग नहीं करना चाहता। मैं मुख्य भंडार में foo विलय करना चाहता हूं और फिर इससे छुटकारा पाता हूं।

उत्तर

1

यहाँ अपने जवाब के एक समुदाय-विकी संस्करण है अगर आप इस सवाल का जवाब के रूप में स्वीकार करना चाहते हैं।


यह मेरे प्रश्नों का जवाब देता है: सबट्री विलय के लिए

http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html

2

अप-टू-डेट संसाधन हैं:

How to use the subtree merge strategy से उद्धृत करें:

इस उदाहरण में, मान लीजिए कि आप /path/to/B पर भंडार डालते हैं (लेकिन यह एक यूआरएल के रूप में अच्छी तरह से हो सकता है, अगर आप चाहते हैं)। आप अपनी वर्तमान शाखा में dir-B उपनिर्देशिका में उस भंडार की मास्टर शाखा को मर्ज करना चाहते हैं।

$ git remote add -f Bproject /path/to/B 
$ git merge -s ours --no-commit Bproject/master 
$ git read-tree --prefix=dir-B/ -u Bproject/master 
$ git commit -m "Merge B project as our subdirectory" 

$ git pull -s subtree Bproject master 

टिप्पणी के लिए लेख "Subtree merging and you" यह भी देखें:

यहाँ कमांड अनुक्रम आप की जरूरत है।