चलो मान merge
लेते हैं कि मैं संघर्ष कर रहा हूं और एक मर्ज संघर्ष है।
मेरा सवाल यह है: मैं हमेशा संघर्ष में कोड के नए संस्करण को चुनने के लिए कैसे बाध्य कर सकता हूं ताकि मुझे संघर्ष को हाथ से हल करने की आवश्यकता न हो?
चलो मान merge
लेते हैं कि मैं संघर्ष कर रहा हूं और एक मर्ज संघर्ष है।
मेरा सवाल यह है: मैं हमेशा संघर्ष में कोड के नए संस्करण को चुनने के लिए कैसे बाध्य कर सकता हूं ताकि मुझे संघर्ष को हाथ से हल करने की आवश्यकता न हो?
जवाबों:
यह बिल्कुल "नया" संस्करण नहीं है, लेकिन आप यह बता सकते हैं कि हमेशा वर्तमान शाखा का उपयोग करके git merge branch -X ours
संस्करण को पसंद करने के लिए, या शाखा के विलय को पसंद करने के लिए, का उपयोग करके git merge branch -X theirs
।
से man git-merge
:
हमारा:
यह विकल्प हमारे संस्करण के पक्ष में सफाई से स्वतः हल होने के लिए विरोधी हॉक को रोकता है। दूसरे पेड़ से परिवर्तन जो हमारे पक्ष के साथ संघर्ष नहीं करते हैं, मर्ज के परिणाम परिलक्षित होते हैं। एक बाइनरी फ़ाइल के लिए, पूरी सामग्री हमारी तरफ से ली गई है।
उन लोगों के:
यह "हमारे" के विपरीत है।
ours
- मैं theirs
!! बस यह कहो और आप समझते हैं कि कमांड क्या करता है! आई लव गिट! : डी
git merge branch
, तो आपको ऐसा करने से git merge --abort
पहले आपको इसकी आवश्यकता होगी ।
error: The following untracked working tree files would be overwritten by merge:
मुझे यह भी पता नहीं है कि ये फाइलें पहली बार इस शाखा में क्यों हैं, लेकिन इन्हें अधिलेखित किया जाना चाहिए, और इंकार करना चाहिए।
git add
पहले उन्हें हटाने (या ) की आवश्यकता है । इसके बारे में थोड़ा पढ़ें git clean
, इससे आपको मदद मिल सकती है।
git merge ours
, अगर कुछ संघर्ष फाइलें हैं, तो क्या कोई लॉग होगा? और क्या मैं ट्रैक कर सकता हूं git merge ours
?
मैं इसका उपयोग करता हूं,
git fetch --prune
git reset --hard origin/master