github मैक कमांड को पुल कमांड का उपयोग करते समय लॉक कर देता है


95

मैं मैक (कमांड-लाइन) पर गीथब सीखने की प्रक्रिया में हूं और जब भी मैं ऐसा करता git pull origin masterहूं

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
".git/MERGE_MSG" 7L, 293C

टर्मिनल लॉक करने लगता है और मुझे तुरंत कुछ भी दर्ज करने की अनुमति नहीं देता है, फिर जब यह अंत में मुझे पाठ दर्ज करने की अनुमति देता है तो ऐसा लगता है कि यह git कमांड को नहीं पहचानता है।

यह गिट में एक बग है या मैं कुछ याद कर रहा हूँ?


5
क्या यह वास्तव में बंद है या क्या आप अभी से परिचित नहीं हैं vi?
एडवर्ड थॉमसन

2
मैं आपको ठीक-ठीक नहीं बता सकता कि क्यों, लेकिन जीआईटी चाहता है कि आप एक प्रतिबद्ध संदेश दर्ज करें, और आप शायद टेक्स्ट एडिटर विम में हैं।
Misch

आह, मैं देख रहा हूँ, हाँ मैं विम से अपरिचित हूँ मैं कैसे दर्ज करूं और टिप्पणी को सहेजूं फिर इस पर विचार करें?
शून्य

7
iएक टिप्पणी सम्मिलित करने के लिए टाइप करें, esc दबाएँ और टाइप करें:wq
Scott Harwell

1
यदि आप परिचित viनहीं हैं तो क्या आप बंद नहीं हैं?
बेन रेसिकोट

जवाबों:


225

आप पाठ संपादक में हैं, विम! यह एक मोडल टेक्स्ट एडिटर है, इसलिए आपको निम्न की आवश्यकता होगी:

  1. इन्सर्ट मोड डालने केi लिए दबाएँ ।
  2. अब आप अपना संदेश टाइप कर सकते हैं, जैसे कि आप एक सामान्य (गैर-मोडल) पाठ संपादक में थे।
  3. कमांड मोड परesc वापस जाने के लिए दबाएँ ।
  4. इसके :wबाद enterसेव करने के लिए टाइप करें ।
  5. अंत में छोड़ने के लिए :qपीछा किया enter

4
यह बहुत अच्छा है कि गिट सिर्फ मानता है कि हर कोई जानता है।
user124384

2
@ user124384 Git आपके $EDITORपर्यावरण चर का उपयोग करने की कोशिश करता है , लेकिन viअगर यह एक नहीं मिल रहा है तो वापस गिर जाता है । आप git config के द्वारा कमबैक को कॉन्फ़िगर कर सकते हैं core.editor। देखें git-scm.com/book/en/v2/...
Ceyko

मैं कहाँ टाइप कर सकते हैं i?
Val Do

1
@ वैल-kharitonashvili एक QUERTY कीबोर्ड पर, यह करने के लिए आसन्न है uऔर o;) लेकिन वास्तव में, जब तक कि टर्मिनल ध्यान केंद्रित किया है, यह काम करना चाहिए।
सेको

ऐसा क्यों होता है? मैं हमेशा कर रहे हैं git merge masterऔर पिछले 2 दिनों में, मैं इस ... दिखाई दे रही है
हनी


2

संपादक आपके विवरण के अनुसार विम जैसा दिखता है । यह कंसोल केवल आपको उस संदेश के लिए कुछ संदेश लिखने के लिए कह रहा है जिसे आप बनाना चाहते हैं, और यह अनिवार्य है जैसा कि यह करता है।

  • बस टाइप करें iऔर आप -- INTER --मोड में चले जाएंगे , अब आप अपनी टिप्पणी लिख सकते हैं।

  • आपके द्वारा लेखन करने के बाद, escअपने कीबोर्ड में की दबाएं और आप कमांड मोड में जाएंगे। ( कंसोल के नीचे देखें )

  • अब कुंजी :wदबाकर परिवर्तन को सहेजेंenter

<Code>: w </ code> कमांड लिखना

  • आप कुंजी :qदबाकर बाद में लिखकर छोड़ सकते हैंenter

<Code>: q </ code> कमांड लिखना

  • हुर्रे! अंत में आप मुख्य कंसोल पर वापस आ गए हैं।


1

यह आदेश चलाएँ

git config --global core.editor "gedit"

इस फ़ाइल में अपना संदेश जोड़ें और इसे सहेजें। अब वापस खींच जाओ।


0

मैंने निम्नलिखित चरणों को निष्पादित करके इस समस्या को ठीक किया

  1. # MERGE_MSG # निकालें

    rm .git/\#MERGE_MSG#

  2. MERGE_HEAD निकालें

    rm .git/MERGE_HEAD

इसके अतिरिक्त, मैंने स्पष्ट रूप से एक संपादक के लिए git के संपादक को सेट किया है जो मैं vim से परिचित हूं (आप नैनो सेट कर सकते हैं )

`git config --global core.editor "vim"`

0

तुम कर सकते हो git checkout --merge yourbranch

वर्तमान शाखा, आपके कार्यशील पेड़ सामग्री और नई शाखा के बीच एक तीन-तरफा मर्ज किया जाता है, और आप नई शाखा में होंगे।


0

समस्याएं आमतौर पर तब होती हैं जब हम किसी चीज़ को मिस करते हैं।
यह अधिक संभावना है कि यह कमांड आपके लिए रूचि रखता है:

git commit -m "message"

अगर कोई समस्या थी, तो यह कुछ कह सकता है

Your branch and 'origin/master' have diverged,
and have 2 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

और उपयोग करें:

git pull

जिसके लिए नेतृत्व करना चाहिए:

Already up-to-date.

फिर जाँच करना अच्छा है:

git status

और फिर से प्रयास करें:

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