यहां कई परिदृश्य हैं जहां आप ऐसा करना चाहते हैं, मैं प्रत्येक परिदृश्य को एक शीर्षक बना दूंगा, ताकि आप अपने मामले को फिट करने वाले परिदृश्य को पा सकें। ध्यान दें कि मैं अभी भी मर्कुरियल सीख रहा हूं, और अगर मैं कुछ गलत कहता हूं, गलत शब्दकोष का उपयोग करके, गलत हो सकता है, तो
कोई और परिवर्तन नहीं, साझा नहीं किया गया (कोई धक्का नहीं/खींचता है)
प्रोग्रामर विलय कर दिया गया है, लेकिन कुछ भी नहीं किया है, और न ही (रों) वह, किसी के साथ परिवर्तन को साझा किया है किसी भी तरह से
इस मामले में में, बस स्थानीय क्लोन त्यागें, और एक मिल एक सुरक्षित भंडार से ताजा क्लोन।
मर्ज की चोटी पर स्थानीय परिवर्तन, साझा
प्रोग्रामर विलय कर दिया गया है, और मर्ज के आधार पर काम जारी रखा। विलय के बाद वाले परिवर्तनों को रखा जाना चाहिए, लेकिन मर्ज स्वयं को हटा दिया जाना चाहिए।परिवर्तन किसी
इस मामले में के साथ साझा नहीं किया गया है (निम्नलिखित changesets + विलय) मैं चार में से एक करना होगा: रिबेस एक्सटेंशन का उपयोग करने, इस एक स्थान से changesets चले जाएँगे
- कोशिश अन्य को। यदि परिवर्तन कोड-परिवर्तनों पर आधारित होते हैं जो विलय के साथ पेश किए गए थे, तो अंतर को सुलझाने के लिए कुछ मैन्युअल कार्य किया जाना चाहिए।
- पैच-कतार में रखे जाने वाले परिवर्तनों को खींचने के लिए एमक्यू एक्सटेंशन का उपयोग करने का प्रयास करें, फिर उन्हें एक अलग स्थान पर दबाएं। हालांकि, यह विलय
- पर आधारित परिवर्तनों के संदर्भ में REBASE एक्सटेंशन के समान समस्या होगी, एक स्थान से दूसरे स्थान पर परिवर्तनों की प्रतिलिपि बनाने के लिए TRANSPLANT एक्सटेंशन का उपयोग करने का प्रयास करें। फिर भी, पहले दो के साथ एक ही समस्या मौजूद है।
- फिर से काम करें, शायद अलग-अलग बदलावों की मदद से उन परिवर्तनों में किए गए परिवर्तनों को करने के लिए जिन्हें मैं त्यागना चाहता हूं, और उन्हें सही स्थान पर फिर से करें।
मर्ज changeset + सभी निम्नलिखित changesets से छुटकारा पाने के लिए, वहाँ विकल्पों में से एक जोड़ी है:
उपयोग MQ विस्तार में पट्टी आदेश
hg strip <hash of merge changeset>
क्लोन और खींचें, और आगे बढ़ने वाले परिवर्तनों के हैश निर्दिष्ट करें, लेकिन मर्ज सहित नहीं। संक्षेप में, क्षतिग्रस्त क्लोन से एक नए में खींचकर एक नया क्लोन बनाएं, और उस मर्ज में खींचने से बचें जिसे आप नहीं चाहते हैं।
hg clone damaged -r <hash of first parent> .
hg pull damaged -r <hash of second parent>
मर्ज दूसरों को धक्का दे दिया, क्लोन
पर नियंत्रण प्रोग्रामर भंडार में महारत हासिल करने या किसी को किसी और धक्का दे दिया गया है, या कोई प्रोग्रामर रिपोजिटरी से खींच लिया। हालांकि, आप (सभी डेवलपर्स के समूह में) सभी रिपॉजिटरीज पर नियंत्रण रखते हैं, जैसा कि आप अधिक काम करने से पहले सभी से संपर्क कर सकते हैं और बात कर सकते हैं
इस मामले में, मैं देखता हूं कि चरण 1 या 2 किया जा सकता है, लेकिन इसे कई जगहों पर किया जाना पड़ सकता है, इसलिए इसमें बहुत सारे काम शामिल हो सकते हैं।
अगर किसी ने मर्ज चेंजेट के आधार पर काम नहीं किया है, तो मैं साफ करने के लिए चरण 1 या 2 का उपयोग करता हूं, फिर मास्टर रिपोजिटरी को दबाता हूं, और सभी को मास्टर रिपोजिटरी से ताजा क्लोन प्राप्त करने के लिए कहता हूं।
मर्ज धक्का दे दिया, आप क्लोन
प्रोग्रामर पर नियंत्रण की जरूरत नहीं है mergeset धक्का दे दिया, और आप नहीं जानते कि जो मर्ज changeset होगा। दूसरे शब्दों में, यदि आप इसे से रिपॉजिटरीज़ से मिटाने में सफल होते हैं, तो जो अभी भी है, उससे एक भटकने वाला धक्का इसे वापस लाएगा।
विलय परिवर्तन को अनदेखा करें और दो शाखाओं में काम करें जैसे कि यह कभी नहीं हुआ। यह एक लटकना सिर छोड़ देगा। आप बाद में, जब आप दो शाखाओं में विलय कर चुके हैं, तो इस सिर से छुटकारा पाने के लिए एक नल-विलय करें।
M <-- this is the one you want to disregard
/\
* *
| |
* *
| |
, बस दो शाखाओं में काम जारी रखने के: तो फिर बाद में आप दो विलय
| |
* *
| M | <-- this is the one you want to disregard
|/ \|
* *
| |
* *
| |
, असली मर्ज आप चाहते हैं:
m
/\
* *
| |
* *
| M | <-- this is the one you want to disregard
|/ \|
* *
| |
* *
| |
फिर आप एक अशक्त मर्ज कर सकते हैं लटकते सिर से छुटकारा पाने के लिए। दुर्भाग्यवश मुझे नहीं पता कि TortoiseHg को छोड़कर इसे कैसे किया जाए। इसमें एक चेकबॉक्स है जहां मैं शाखाओं में से किसी एक से परिवर्तन को त्याग सकता हूं।
टोर्टोइज एचजी के साथ, मैं उस मर्ज को अपडेट करूंगा जो मैं रखना चाहता हूं (सबसे ऊपर, लोअरकेस एम), फिर नीचे दिए गए लटकते मर्ज हेड पर राइट-क्लिक करें और फिर "मर्ज लक्ष्य से सभी परिवर्तनों को छोड़ दें" अन्य) संशोधन ":
मर्ज धकेल दिया गया है और अब बहुत से लोगों को सार्वजनिक है, या आप खजाने की एक चलाया सूची को नुकसान की जा सकती है? –
मुझे यह कहने से नफरत है, लेकिन आप तब तक नहीं कर सकते जब तक कि कोई भी खींच नहीं लेता है। –
दुर्भाग्य से विलय को सार्वजनिक भंडार में धकेल दिया गया था और कुछ लोगों ने इसे वापस करने के लिए कोई बदलाव करने से पहले इसे खींच लिया था। –