2014-04-26 8 views
6

में मर्ज करें कहें कि मेरे पास टेक्स्ट फाइलों के समूह के साथ मेरा खुद का गिट रेपो है। एक और अलग गिट रेपो है कि किसी और के पास टेक्स्ट फाइलों के समूह के साथ स्वामित्व है जो कि एक फ़ाइल को छोड़कर सभी अलग-अलग हैं।गिट एक अन्य रिपोजिटरी से एक ही फाइल को अपने

मैं लगातार अपने रेपो में विभिन्न टेक्स्ट फ़ाइलों में परिवर्तन कर रहा हूं, लेकिन हर अब और फिर मैं उस एकल फ़ाइल के किसी भी बदलाव को अन्य रिपो से अपने आप में विलय करना चाहता हूं।

क्या ऐसा करने का कोई आसान तरीका है? मैंने चारों ओर खोज की है और कुछ समान प्रश्न पाए हैं लेकिन कोई भी नहीं कि हम अपने सटीक परिदृश्य के लिए हैं। जोड़ने के लिए

+0

के लिए मेवेन प्लगइन्स हैं यदि आप स्वयं फ़ाइल को नहीं बदल रहे हैं, तो बस इसे कॉपी करें और प्रतिबद्ध करें। –

+0

मैं उस फ़ाइल को बदल रहा हूं जिसमें मैं विलय करना चाहता हूं। – btse

+0

ठीक है, इस बात पर निर्भर करता है कि यह दोनों पक्षों में कितनी बार बदला जाता है, यह अभी भी इसे कॉपी करने और उत्पन्न होने वाले किसी भी संघर्ष को हल करने के लिए सबसे आसान हो सकता है। यदि यह एक निर्देशिका/पुस्तकालय था, तो मैं इसे एक सबमिशन के रूप में रखने का सुझाव दूंगा, लेकिन एक फ़ाइल के लिए ... वैसे भी, सही काम करने के लिए, जब आप इसकी मदद कर सकते हैं, तो उन सभी के लिए है जो फाइल पर सहयोग करने के लिए फाइल पर सहयोग करते हैं वही भंडार एक पूरी तरह से अलग भंडार AFAIK में विलय करने के लिए गिट में एक फ़ाइल के अलग इतिहास को पकड़ने का कोई तरीका नहीं है। –

उत्तर

5

कोशिश other-repo तो शाखा आप target-file.ext में मर्ज करना चाहते करने के लिए अपने target-branch

~ $ git remote add other [email protected]:username/other-repo.git 
~ $ git fetch other 

स्विच सहित उसकी शाखाओं लाने:

~ $ git checkout your-branch 

तुम्हारा में लक्ष्य फ़ाइल सम्मिलित करें:

~ $ git checkout -p other/target-branch target-file.ext 
+0

यह मेरे लिए काम नहीं करता .... बस एक "कोई बदलाव नहीं करता है।" संदेश –

+0

@ टिमबोलैंड https://stackoverflow.com/a/4427783/6263936 आज़माएं – Liang

1

आप आर्बिटर को विलय कर सकते हैं आरी फाइलें या रेपो ऑब्जेक्ट्स। सरल हो सकता है:

git merge-file file.txt <(git show last-merged-file.txt) /path/to/their/file.txt 
# resolve any conflicts, then 
git tag last-merged-file.txt `git hash-object-w file.txt` 
0

आप (कलाकृतियों) मूल रेपो में परिणाम पैकेजिंग के किसी भी प्रकार का उपयोग कर रहे हैं, तो आप के रूप में अच्छी स्रोतों प्रकाशित करने के लिए रेपो के मालिक पूछ सकते हैं। फिर अपने स्वयं के रेपो में आप इस तरह के आर्टिफैक्ट का उपभोग करते हैं और अनपैक करते हैं और आपको जिस फ़ाइल की आवश्यकता होती है उसकी प्रतिलिपि बनाएँ। जैसे यदि जावा-मेवेन का उपयोग करना है, तो सुनिश्चित करें कि मूल रेपो पर निर्माण स्रोतों को भी प्रकाशित करता है, फिर अपने स्वयं के रेपो में, आप प्री-स्टेप (संकलन से पहले) डालते हैं जिसमें आप स्रोत निर्भरता डाउनलोड करते हैं, जार फ़ाइल को अनपैक करते हैं और कॉपी करते हैं एक आपको अपनी उचित निर्देशिका की आवश्यकता है। उस

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