2011-12-14 10 views
8

लगता है मैं एक दूरस्थ भंडार ([email protected]:project.git) है की एक उप निर्देशिका के रूप में एक स्थानीय डेटा संग्रह स्थान जुड़:निम्नलिखित संरचना के साथ दूरदराज के भंडार

./client 
./server 

और फिर मैं git init; git add . ; git commit -m "init check in " का उपयोग कर निर्देशिका ~/myproject/test में एक स्थानीय भंडार बनाया। मैं किसी उप-निर्देशिका testclient और server के समानान्तर रूप में दूरदराज के भंडार को यह स्थानीय भंडार पुश करने के लिए चाहते हैं, कि

./client 
./server 
./test 

है मैं स्थानीय में सभी चेक-इन इतिहास इच्छा दूरस्थ भंडार में रखा जा सकता है । क्या इसे प्राप्त करने का कोई तरीका है? धन्यवाद!

उत्तर

6

सामान्य समाधान subtree merge strategy का उपयोग करना है।

विवरण के लिए "Git subtree merge strategy, possible without merging history?" देखें।


एक अन्य समाधान अपने दूरस्थ रेपो के एक submodule के रूप में अपने स्थानीय रेपो घोषित करने के लिए किया जाएगा।

के लिए, आप की आवश्यकता होगी:

  • अपने दूरस्थ सर्वर पर एक स्वतंत्र रेपो के रूप में अपने स्थानीय रेपो पुश करने के लिए [email protected]:project.git क्लोन करने के लिए स्थानीय स्तर पर
  • के रूप में जोड़ [email protected]:test.gita submodule

लेकिन अगर आपकी टेस्ट फाइलें आपकी परियोजना से निकटता से जुड़ी हुई हैं, तो शायद यह सबसे अच्छा समाधान नहीं है।

1

पिछला जवाब मेरे लिए काम नहीं किया था (अधिक जानकारी चाहिए: यहां गिट शुरुआती ;-), जबकि https://git-scm.com/book/en/v2/Git-Tools-Submodules ने इसे चरण-दर-चरण दृष्टिकोण के साथ पूरी तरह से किया। यह इतिहास को विलय/त्यागने के दोनों तरीकों को भी समझाता है।

+0

लिंक 2016.03.27 के रूप में टूट गया है। – adam0404

+0

लिंक 2017.08.24 के ठीक है। – Erathiel

संबंधित मुद्दे