एक स्वसंपूर्ण फैशन में Xcode 4 मेरिजेट का उपयोग कैसे करें?


8

मुझे कभी-कभी कंसोल पर गिट मर्ज करना पड़ता है। अब तक, संघर्षों को हल करने के लिए, मैं Xcode 3 की फ़ाइलमार्गर का उपयोग कर रहा था (आप इसे 'ओपनेंडिफ' कमांड का उपयोग करके कंसोल पर खोल सकते हैं)। यदि विरोधाभास दिखाते हैं, तो मैं 'गिट मेरिजेट' का उपयोग करता हूं जो स्वचालित रूप से प्रत्येक परस्पर विरोधी फाइलों के लिए ओपेंडिफ को आमंत्रित करता है।

हालाँकि, Xcode 4 संघर्षों को हल करने के लिए एक बहुत अच्छा मर्जेट घटक है। मेरा मानना ​​है कि यह घटक स्टैंडअलोन के बजाय Xcode 4 निष्पादन योग्य का हिस्सा है। यह आपको मर्ज किए गए फ़ाइल का पूर्वावलोकन करने की अनुमति देता है, और केस-बाय-केस आधार पर सीधे मर्ज किए गए कोड को संपादित करता है, जो जटिल संघर्षों को अविश्वसनीय रूप से तेज़ और संतोषजनक बनाता है।

क्या टर्मिनल से 'गिट मेरिजटूल' लाते समय Xcode 4 मेरिजेट का उपयोग करने का कोई तरीका है?

मुझे Xcode 4 बंडल के अंदर इस उपकरण के लिए एक निष्पादन योग्य नहीं मिल रहा है। कोई भी हैक जो इसे प्राप्त करता है उसका स्वागत किया जाएगा।


यदि कोई अन्य व्यक्ति इस सुविधा में रुचि रखता है: ऐसा लगता है कि ऐसा करने का कोई आधिकारिक तरीका नहीं है। मैंने Bugreport के माध्यम से Apple को एक सुविधा अनुरोध प्रस्तुत किया । यहाँ राडार है । मुझे लगता है कि यह काफी निराशाजनक है, लेकिन आप कभी नहीं जानते। किसी और के लिए, मैं Apple को एक समान बग रिपोर्ट प्रस्तुत करके रुचि दिखाने का सुझाव देता हूं।
रिकार्डो सांचेज़-साज़

जवाबों:


4

opendiff दो फ़ाइल नाम तर्क लेता है, और एक तृतीय-फ़ाइल नाम के साथ एक-ancestor पैरामीटर, तीन-तरफ़ा अंतर पैदा करने के लिए, और एक- amerge पैरामीटर जो आउटपुट फ़ाइल को विरोध रिज़ॉल्यूशन के लिए उपयोग करने के लिए कहता है।

तो जाओ:

[mergetool "opendiff"]
    cmd = "opendiff \"$LOCAL\"  \"$REMOTE\" \"$(if test -f \"$BASE\"; then echo \"--ancestor $BASE\"; else echo \"--ancestor $LOCAL\"; fi)\" --merge=\"$MERGED\" "
[merge]
    tool = opendiff

मर्ज का उपयोग ओपेंडिफ को अपने मर्ज टूल के रूप में करना चाहिए, जब मर्ज संघर्ष हो।

उस ने कहा, मैं बहुत ज्यादा SourceGear से DiffMerge को पसंद करता हूं , जो कि एक फ्री डिफेंस और थ्री-वे-मर्ज टूल है जो बहुत बेहतर, वर्ड-ओरिएंटेड, संघर्ष रिज़ॉल्यूशन करता है। और डिफमर्ज़ के डॉक्यूमेंटेशन में यह बताने के लिए क्या है कि इसे डिफॉल्ट डिफरिंग और मर्जिंग टूल बनाने के लिए क्या बताया जाए।


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

मुझे पूरा यकीन है कि Xcode 4 सिर्फ FileMerge को रैप कर रहा है। मुझे बहुरूपदर्शक के बारे में उसी निराशा का पता चला।
डैन रे

मैं कहूंगा कि Xcode 4 FileMerge को रैप नहीं कर रहा है। FileMerge पर आप मर्ज की गई फ़ाइल को एडिट नहीं कर सकते, आप बस उस मर्ज के किस पक्ष का चयन करें जिसे आप प्रत्येक संघर्ष के लिए उपयोग करना चाहते हैं। Xcode 4 पुल-संघर्ष रिज़ॉल्वर पर आप परस्पर विरोधी पंक्तियों को संपादित कर सकते हैं और फ़ाइल के साथ एक पुल कर सकते हैं जिस तरह से आप चाहते हैं। इसके अलावा, यूआई फिल्ममेकर से पूरी तरह से अलग है।
रिकार्डो सांचेज-साज़

1
कैलिडोस्कोप 2 बीटा हाल ही में जारी किया गया था, और यह मर्ज किए गए फ़ाइलों के इनलाइन संपादन की अनुमति देता है। इसे देखें, यह काफी अच्छा है। केवल एक चीज जो गायब है वह संघर्षों के लिए एक अलग रंग है (यह उन लोगों के लिए कोड प्रतिस्थापन के समान रंग का उपयोग करता है)।
रिकार्डो सांचेज-साज़

कुछ महीनों के बाद कैलीडोस्कोप का उपयोग करते हुए और आम तौर पर अच्छा होने के बावजूद, मुझे कहना होगा कि यह अभी भी एक प्रकार का छोटा और / या भ्रामक है, विशेष रूप से जब Xcode 4.x संघर्ष-समाधान घटक की तुलना में। फिर भी Apple के अप्रत्याशित होने की उम्मीद है और इसे एक स्टैंडअलोन टूल के रूप में लागू किया जा सकता है, जो कहता है, टॉवर। ;-)
रिकार्डो सांचेज़-साज़

0

आप फ़ाइल पेन के भीतर (बहुत ही बेसिक) टेक्स्ट एडिटर को एडिटर पेन खोलकर एडिट कर सकते हैं - जो कि डिफ़ॉल्ट रूप से बंद है। FileMerge में संपादक खोलने के लिए, संपादक फलक को खोलने के लिए केंद्र के नीचे स्थित डॉट को ऊपर खींचें।


-1

इसने मेरे लिए काम करना खत्म कर दिया

[merge]
  tool = opendiff

[mergetool]
  keepBackup = false

[mergetool "opendiff"]
  cmd = "opendiff \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\""

2
Opendiff वह है जो एक्सकोड 3.x मर्ज के लिए उपयोग किया जाता है। मेरा प्रश्न Xcode 4.x मर्ज घटक के बारे में था, जो एक पूरी तरह से अलग उपकरण है (यह opendiff / filemerge के विपरीत, परिणामस्वरूप फ़ाइल के इनलाइन संपादन की अनुमति देता है)। फिर भी धन्यवाद।
रिकार्डो सांचेज-साज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.