मैं दो पाठ फ़ाइलों को "मर्ज" कैसे करूं?


13

मैंने हाल ही में Ubuntu 12.04 से 12.10 तक उन्नत किया और एक बिंदु पर, इसमें Apache config फाइल संघर्ष का सामना करना पड़ा apache2.conf। मैंने उस समय मुझे एक मर्ज विकल्प नहीं दिया, इसलिए मैंने नई फ़ाइल को अस्वीकार कर दिया और इंस्टॉलर ने नई फ़ाइल को इस रूप में सहेजा apache2.conf.dpkg-dist

मैं दो फाइलों diff apache2.conf apache2.conf.dpkg-distको अलग-अलग कर सकता हूं और बस उन पंक्तियों को प्राप्त कर सकता हूं जो अलग हैं। लेकिन मैं मैन्युअल रूप से दो तरह के मर्ज करना चाहता हूं जैसे कि मैं एसवीएन या गिट में मर्ज संघर्ष कैसे हल करता हूं। मैं उसे कैसे कर सकता हूँ?


उचित पार्सर के बिना, आप केवल उन्हें मैन्युअल रूप से मर्ज कर सकते हैं
डेज़ी

जवाबों:


7

vimdiffअगर आपको पसंद है तो उपयोग करें vim। अन्यथा, diffuseमहान के रूप में अच्छी तरह से काम करता है।


2

संस्करण नियंत्रण में अधिक जानकारी उपलब्ध है जब यह विरोधाभासों का समाधान करता है: इसमें न केवल आपका संस्करण और दूसरे लड़के का संस्करण है, बल्कि सामान्य पूर्वज भी हैं, और इस प्रकार यह तीन-तरफा मर्ज कर सकता है । यहां, सामान्य पूर्वज वितरण में कॉन्फ़िगरेशन फ़ाइल का मूल संस्करण है, या आधिकारिक संस्करण जिसे आप अंतिम रूप से अपने परिवर्तनों के साथ विलय कर चुके हैं।

दुर्भाग्य से न तो उबंटू और न ही किसी अन्य प्रमुख वितरण के बारे में मुझे पता है कि कॉन्फ़िगरेशन फ़ाइल अपडेट होने पर तीन-तरफा मर्ज करना पूरी तरह से सहज है। आप पास मिल सकते हैं, हालांकि, एटकीपर के साथ । एटकीपर एपीटी के लिए एक ऐड-ऑन है, डेबियन और डेरिवेटिव द्वारा उपयोग किए जाने वाले पैकेज प्रबंधन उपकरण, जो /etcएक संस्करण नियंत्रण प्रणाली (बाजार, डार्क्स, गिट, मर्क्यूरियल) में प्रबंधित करता है; इसे अन्य प्रणालियों में पोर्ट किया गया है, जिसमें फेडोरा में यम भी शामिल है। मैं एटकीपर का उपयोग करने की सलाह देता हूं; यह आपके द्वारा किए गए परिवर्तनों का ट्रैक रखने का एक शानदार तरीका है /etc

कुछ प्रोग्राम ucf के साथ उनकी कॉन्फ़िगरेशन फ़ाइलों को प्रबंधित करते हैं , लेकिन यह कुछ ऐसा नहीं है जिसका आपके पास उपयोगकर्ता के रूप में नियंत्रण है।

आम तौर पर, आप पूर्वज और दो संस्करण हैं जब, आप के साथ एक तीन तरह से मर्ज कर सकते हैं mergeउपयोगिता के साथ भेज दिया आरसीएस या साथ diff3 -mसे diffutils

एक महान कई इंटरैक्टिव अंतर और मर्ज प्रोग्राम भी हैं। Emacs और Vim में उस के लिए इंटरफेस है, जैसा कि अधिकांश दर्शक करते हैं


1

मेरा व्यक्तिगत पसंदीदा है kdiff3- मुझे नहीं पता, अगर इसके लिए एक उबंटू-संस्करण है। होमपेज के अनुसार यह सिर्फ qt का उपयोग करता है ।

उस टूल से आप दो (या तीन) फाइलों को एक नए में मर्ज कर सकते हैं। या तो प्रत्येक अंतर के लिए एक पक्ष का चयन करके, या मैन्युअल रूप से संघर्ष को हल करके।


वर्तमान में (15.04) ubuntu दोनों है kdiff3औरkdiff3-qt
mchid
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.