2013-03-13 8 views
25

मैं एक गिट भंडार में कुछ काम करने की कोशिश कर रहा हूं।गिट के साथ मुद्दे - रिबेस/स्क्वैश

> git rebase -i HEAD~3

Successfully rebased and updated refs/heads/staging.

एक फ़ाइल git-rebase-todo शीर्षक से खोलता है:

pick a2f3467 Require statement incorrect 
pick c41212e Require file in environment 
pick 2743221 This should work 

# Rebase c5f42f3..2743221 onto c5f42f3 
# .......... 

मैं pick से squash करने के लिए नीचे दो करता बदलते कोशिश की। मैं फ़ाइल सहेजें, और मैं निम्नलिखित त्रुटि मिलती है:

Unable to save ~/Documents/code/myapp/.git/rebase-emrge/git-rebase-todo

+1

के साथ कॉन्फ़िगर करने के लिए कहता है यह एक गिट एक की बजाय फाइल सिस्टम त्रुटि की तरह दिखता है। क्या होता है यदि आप उस स्थान पर फ़ाइल को हाथ से बनाने का प्रयास करते हैं? – Ben

+0

आप किस संपादक का उपयोग करते हैं? – poke

+0

@poke मैं SublimeText2 का उपयोग कर रहा हूं - कुछ भी नहीं फैंसी (मुझे नहीं लगता!) – Brandon

उत्तर

50

समस्या यह है कि जब sublimetext2 शुरू कर दिया है, यह ब्लॉक नहीं करता है और तुरंत वापस आती है। गिट तब सोचता है कि आप फ़ाइल को संपादित कर चुके हैं और रीबेस कर सकते हैं। यही कारण है कि आप

Successfully rebased and updated refs/heads/staging 

संदेश, इससे पहले कि आप फ़ाइल को संपादित करने से पहले देखें। इसके बजाय subl कमांड का उपयोग करें, जो इस तरह के उपयोग के लिए डिज़ाइन किया गया है। github help आपको

git config --global core.editor "subl -n -w" 
+0

यह तुरंत रिबेस आदेश को लागू करना बंद कर दिया और फाइल को फिर से सहेजने योग्य बना दिया। दुर्भाग्यवश यह अभी भी सहेजने के बाद जारी नहीं है। –

+0

ठीक है, मुझे समाधान मिला, आपको केवल फ़ाइल को सहेजने की आवश्यकता नहीं है, संपादक को बाद में बंद करने की आवश्यकता है। श्रीमान, यह नहीं पता था, यहां विषय के लिए अधिक जानकारी है: http://stackoverflow.com/questions/22631863/setting-up-sublimetext-3-as-git-commit-text-editor –

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