जैसा कि शीर्षक कहता है, मैं git merge --squash
और git merge --no-commit
के बीच अंतरों के बारे में वास्तव में स्पष्ट नहीं हूं।गिट मर्ज के बीच मतभेद - स्क्वैश और --no-commit
जहां तक मैं git merge
के लिए सहायता पृष्ठ को समझता हूं, दोनों आदेश मुझे एक अद्यतन कार्यरत पेड़ में छोड़ देंगे, जहां इसे संपादित करना अभी भी संभव है और फिर अंतिम प्रतिबद्धता (या एकाधिक प्रतिबद्धता) करने के लिए।
क्या कोई उन 2 विकल्पों के अंतर को स्पष्ट कर सकता है? मैं दूसरे के बजाय एक का उपयोग कब करूंगा?
तो विलय-प्रतिबद्धता इतिहास में कैसे दिखाई देगी? चूंकि मैं प्रतिबद्धता संदेश संपादित कर सकता हूं, मैं कैसे देख सकता हूं कि यह एक विलय-प्रतिबद्ध था? – quaylar
@quaylar एक मर्ज-प्रतिबद्ध वास्तव में एक विशेष प्रतिबद्धता नहीं है, सिवाय इसके कि इसमें कई माता-पिता हैं। आप अभिभावकों को 'गिट लॉग - पारेन्ट्स' (और 'गिट लॉग - मेर्गेस' के साथ उदाहरण के लिए प्रतिबद्धता के लिए देख सकते हैं)। –
@ फिलिपवेन्डलर तो अनिवार्य रूप से: विलय-प्रतिबद्ध होने के बाद मैं हमेशा इतिहास को देखकर जानता हूं कि यह प्रतिबद्धता विलय का परिणाम था (क्या वह जानकारी है जो इस विलय में योगदान देने वाली शाखाओं को भी रखा गया है?)। - स्क्वैश का उपयोग करने का कोई तरीका नहीं है कि यह प्रतिबद्धता विलय का परिणाम था। क्या मैं इसे सही ढंग से समझ रहा हूँ? – quaylar