में एक प्रतिबद्धता को बहिष्कृत करता है मेरे पास एक प्रतिबद्धता है, मैंने एक शाखा में संग्रहित किया है, क्योंकि यह केवल एक विशिष्ट बॉक्स में जाना चाहिए।गिट शाखा
मैंने इसे शाखा मास्टर में विलय कर दिया है, लेकिन शाखा देव नहीं, जिसे मैं स्थानीय रूप से उपयोग करता हूं।
अब, गलती से मैंने देव को मास्टर विलय कर दिया और इस देव को देव को पेश किया।
मुझे पता है कि शाखा देव को शाखा को वापस कर सकते हैं; लेकिन चूंकि यह एक प्रतिबद्धता पेश करने जा रहा है जो प्रतिबद्ध करता है (मैं अनुमान लगा रहा हूं, मैंने वास्तव में यह कोशिश नहीं की है), जब मैं मास्टर को विलय करता हूं, तो क्या यह प्रतिबद्धता भी पूर्ववत हो जाएगी?
यदि हां, तो मैं केवल शाखा देव से इस प्रतिबद्धता को पूर्ववत कैसे करूं?
और ओह, git reset HEAD^1
- हार्ड एक विकल्प नहीं है क्योंकि अनिवार्य प्रतिबद्धता के बाद मास्टर पर अन्य काम भी हैं।
यदि दोबारा रीसेट करें और लागू करें तो एकमात्र विकल्प है, तो मैं केवल उन अतिरिक्त प्रतिबद्धताओं को बिना किसी आवश्यक प्रतिबद्धता के अलावा मास्टर से कैसे विलय कर सकता हूं।
अद्यतन:
यहां प्रतिबद्ध पेड़ है। जटिल लग रहा है। मैंने प्रतिबद्धता की ओर इशारा किया है, कि मुझे देव में आवश्यकता नहीं है। (मैंने समझने के लिए धन्यवाद, व्यक्तिगत रूप से पहचाने जाने योग्य जानकारी को भी हटा दिया है। एसिसी कला की तुलना में स्क्रीनशॉट गिटक के लिए यह बहुत आसान है।)
अग्रिम धन्यवाद!
यह ASCII कला को यह रूप में मैं नहीं कर रहा हूँ संभव है पूरी तरह स्पष्ट है कि मर्ज काम अवांछित प्रतिबद्धता के संबंध में है? –
svn में आप संशोधन, 1-19, 4 9, 52-90 की श्रेणियों को मर्ज कर सकते हैं ... मुझे यकीन है कि आप इसे गिट में भी कर सकते हैं। – SeanJA
@ सेनजा: मुझे यकीन नहीं है कि svn के समानता उत्तर का सबसे अच्छा तरीका है। विशेष रूप से, गिट के साथ, यदि आप 'ए - बी - सी' से शुरू करते हैं और 'ए - सी' प्राप्त करने के लिए 'बी' को हटाते हैं, तो प्रतिबद्धता 'सी' प्रतिबद्धता 'सी' के समान नहीं होती है, क्योंकि यह एक ही माता पिता नहीं है। तो निश्चित रूप से, आप वांछित एक गायब के साथ मूल प्रतिबद्धताओं वाली दूसरी शाखा बना सकते हैं, और उसके बाद इसे विलय कर सकते हैं, लेकिन आप मूल शाखा को विलय नहीं कर पाएंगे। – Cascabel