2012-11-26 20 views
8

मैंने कुछ चीजों का सुझाव दिया है, लेकिन कुछ भी इसे हटाने के लिए प्रतीत नहीं होता है। यह तब शुरू हुआ जब मैंने माउंटेन शेर ओएस एक्स में अपग्रेड किया। कभी भी मैं git pull करता हूं, यह इस परेशानियों को शीर्षक MERGE_MSG शीर्षक के साथ खाली संपादक के रूप में प्रदर्शित करता है।मैं गिट के MERGE_MSG को कैसे हटा सकता हूं?

मैं अपने सभी ऐप्स में वैश्विक स्तर पर पॉप अप करने से कैसे रोकूं?

+1

यदि यह अक्सर आपके लिए परेशान होने के लिए पर्याप्त हो रहा है, तो यह संभवतः एक संकेत है कि आप बहुत सारे विलय कर रहे हैं जिसके परिणामस्वरूप बदसूरत इतिहास हो रहा है। – qqx

+1

क्या होगा यदि आप अन्य डेवलपर्स के साथ काम साझा कर रहे हैं? क्या यह अनिवार्य नहीं होगा? – Trip

+0

ध्यान दें कि यहां इच्छित व्यवहार एक संपादक खोलना है और उपयोगकर्ता को संदेश में टाइप करना है। हालांकि यह केवल नैनो इत्यादि के साथ काम करता है और उत्कृष्ट प्रक्रिया के बाद विफल रहता है क्योंकि उत्कृष्ट प्रक्रिया ** तुरंत समाप्त हो जाती है ** यदि उत्कृष्टता पहले से खुली है (मैं हमेशा इसे खोलता हूं) – xjcl

उत्तर

13

आप या तो --no-edit से git pull पर जा सकते हैं, या आप पर्यावरण चर GIT_MERGE_AUTOEDIT से no पर सेट कर सकते हैं।

git pull प्रलेखन से:

--edit, --no-edit 
     Invoke an editor before committing successful mechanical merge to 
     further edit the auto-generated merge message, so that the user can 
     explain and justify the merge. The --no-edit option can be used to 
     accept the auto-generated message (this is generally discouraged). 
     The --edit option is still useful if you are giving a draft message 
     with the -m option from the command line and want to edit it in the 
     editor. 

     Older scripts may depend on the historical behaviour of not 
     allowing the user to edit the merge log message. They will see an 
     editor opened when they run git merge. To make it easier to adjust 
     such scripts to the updated behaviour, the environment variable 
     GIT_MERGE_AUTOEDIT can be set to no at the beginning of them. 
0

स्थानीय करने के लिए दूरस्थ शाखा के विलय और अधिक नियंत्रण और उसके बाद खींचें देता है। मर्ज 'फास्ट फॉरवर्ड' हो सकता है (मर्ज संदेश की आवश्यकता नहीं है), मर्ज संदेश सार्थक हो सकता है। पुल आपको 'फास्ट फॉरवर्ड' विकल्प नहीं देता है और हमेशा डिफॉल्ट मर्ज संदेश उत्पन्न करता है जो निराश होता है।

0

git pullgit fetch है जिसके बाद git merge है। - विलय, यदि यह विलय प्रतिबद्धता में परिणाम देता है, तो उस संदेश के लिए पूछता है।

मैं विलय के बजाय git rebase करने का प्रस्ताव दूंगा। यह इतिहास रैखिक रखने में मदद करता है और यह अतिरिक्त विलय प्रतिबद्धताओं से बचाता है। एक git pull --rebase यह एक बार में करता है (यानी यह git fetch है जिसके बाद git rebase) है।

संबंधित मुद्दे