2010-03-23 18 views
12

आइए कहें कि मैं मास्टर पर एक शाखा का रिबेस बी कर रहा हूं और एक संघर्ष है। गिट इनपुट के रूप में 3 फाइलों के साथ डिफ़ॉल्ट मर्ज टूल खोलता है: file.LOCAL, file.BASE, file.REMOTE (उन्हें थोड़ा अलग नाम दिया गया है, लेकिन स्थानीय, आधार और रिमोट फ़ाइल नामों में हैं और यह कि वे कैसे प्रतिष्ठित हैं)।क्या मैं गिट मेरेटूल में उपयोग किए जाने वाले स्थानीय, रिमोट और आधार का नाम बदल सकता हूं?

अब, मर्जेटूल मैन पेज के अनुसार: $ LOCAL एक अस्थायी फ़ाइल के नाम पर सेट है जिसमें वर्तमान शाखा पर फ़ाइल की सामग्री शामिल है; फ़ाइल रिमोट को अस्थायी फ़ाइल के नाम पर सेट किया गया है जिसमें फ़ाइल की सामग्री विलय करने के लिए है, और $ BASE एक अस्थायी फ़ाइल के नाम पर सेट है जिसमें मर्ज के लिए सामान्य आधार है।

यह वास्तव में मुझे समझ में नहीं आता है। स्थानीय शाखा की वर्तमान स्थिति है। जहां मैं खो जाता हूं वह आधार और रिमोट है। तो मेरा सवाल है:

क्या गिट को LOCAL के बजाय शाखा नाम का उपयोग करना और बीएसईई और रिमोट के अलावा अन्य अर्थपूर्ण नाम बनाना संभव है? उदाहरण के लिए, यदि शाखा का नाम फ़ीचरएक्स और बीएएसई = फ़ाइल है जो मास्टर में मौजूद है, तो क्या LOCAL के लिए फ़ीचरएक्स को स्थानांतरित करने और बीएएसई के लिए मास्टर को गिट प्राप्त करने का कोई तरीका है, ताकि यह अधिक स्पष्ट हो कि स्रोत कहां से आ रहा है ? रिबेज करते समय यह विशेष रूप से एक समस्या है।

उत्तर

8

Git स्थानीय

के बजाय शाखा के नाम का उपयोग मैं ऐसा नहीं सोचता बनाने के लिए यह संभव है, लेकिन यदि आप अपने mergetool a graphical merge tool में घोषित, आप के शीर्षक के साथ कि बाहरी उपकरण कॉल कर सकते हैं अपनी पसंद:

(मर्ज उपकरण CALLL स्क्रिप्ट के उद्धरण)

t1="'$4 (current branch)'" 
t2="'(common ancestor)'" 
t3="'(to be merged)'" 

    "C:/Program Files/Araxis/Araxis Merge/Compare.exe" -max -wait -merge -3 -a2 -title1:${t1} -title2:${t2} -title3:${t3} "$alocal" "$base" "$remote" "$result" 

इस तरह, आप और अधिक आसानी से क्या क्या है देख सकते हैं।

3

मुझे पूरा यकीन नहीं है कि यह स्पष्टीकरण सही है, लेकिन आधार वह बिंदु होगा जिस पर फ़ाइल के दोनों संस्करण समान थे। यह हो सकता है कि आप एक गिट पेड़ में 'पैरेंट' कहें।

जब वे अलग हो गए, तो आप स्थानीय और रिमोट के साथ समाप्त हो गए जो एक दूसरे के साथ संघर्ष कर रहे हैं।