2012-03-22 5 views
7

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

इस पल के लिए, हालांकि, मैं मेकफ़ाइल को फीचर में परीक्षण से खींचना चाहता हूं, क्योंकि फीचर मास्टर से अलग हो गई थी, और मेकफ़ाइल परीक्षण में जोड़ा गया था। मैं हालांकि दो शाखाओं के बीच किसी भी अन्य परिवर्तन में विलय करना चाहता हूं।

मेरी समझ यह है कि अगर मैं फीचर करने के लिए मेकफ़ाइल को गिट-जोड़ता हूं, तो जब मैं फीचर को वापस परीक्षण (और फिर मास्टर) में विलय करता हूं तो यह विवाद विवाद पैदा करेगा, खासकर यदि मैं अपनी फीचर शाखा में मेकफ़ाइल में कोई और अतिरिक्त जोड़ता हूं ।

मैं गिट-चेरी-पिक कर सकता था; हालांकि, मेकफ़ाइल परीक्षण में कई काम करते थे, और मुझे लगता है कि चेरी को चुनने की कोशिश करने से बेहतर तरीका है- उन सभी को सुविधा में शामिल करें।

उत्तर

12

तुम सिर्फ एक

git checkout branch_name <path(s)>

यह एक विशिष्ट फ़ाइल लोड कर सकते हैं कर सकते हैं लेकिन आप यह भी वाइल्डकार्ड और निर्देशिका

ध्यान दें कि उपयोग कर सकते हैं:

  • पथ रिश्तेदार हैं
  • पथ बनाता है कि गिट शाखाओं को स्विच नहीं करता है, इसलिए आप gettihg के बाद बस प्रतिबद्ध कर सकते हैं फ़ाइल
+0

वाह - मैंने दोनों के एसएचए द्वारा एक प्रतिबद्धता में स्विच करने के लिए चेकआउट का उपयोग किया है, और एक फ़ाइल पर वापस हेड पर वापस आ गया है, लेकिन मुझे एहसास नहीं हुआ कि आप दोनों को इस तरह से जोड़ सकते हैं। यह अब पूर्वदर्शी में स्पष्ट है, लेकिन धन्यवाद! – chimeracoder