2012-02-13 13 views
41

में चलाया जाना चाहिए जब मैं शाखा बदलने की कोशिश करता हूं तो मुझे यह त्रुटि मिलती है।घातक: यह ऑपरेशन एक कार्य पेड़

शायद मैं आदेश पर

/path/to/git/repo/. 

पर आदेशों की कुछ जानकारी दे देंगे:

git branch 

मैं निम्नलिखित मिल उत्पादन

* V1.5 
    V2.0 
    master 

और जब मैं कमांड कोशिश

git checkout V2.0 

मैं उत्पादन निम्नलिखित हो:

fatal: This operation must be run in a work tree 

कॉन्फ़िग फ़ाइल सामग्री:

cat config 
[core] 
     repositoryformatversion = 0 
     filemode = true 
     bare = true 
[remote "origin"] 
     url = /path/to/git/repo/.git 
+1

ऐसा लगता है कि आपके पास एक नंगे रेपो है। दुर्लभ रेपो में एक काम करने वाला पेड़ नहीं है, इसलिए 'गिट चेकआउट' उनके लिए समझ में नहीं आता है। – svick

उत्तर

35

आप भंडार नंगे है, अर्थात यह एक काम कर इसे से जुड़े पेड़ नहीं है। आप इसके लिए एक काम करने वाला पेड़ बनाने के लिए इसे स्थानीय रूप से क्लोन कर सकते हैं, या आप गिट को कहने के लिए कई अन्य विकल्पों में से एक का उपयोग कर सकते हैं जहां कार्यरत पेड़ है, उदा। एकल आदेशों के लिए --work-tree विकल्प, या GIT_WORK_TREE पर्यावरण चर। core.worktree कॉन्फ़िगरेशन विकल्प भी है लेकिन यह एक नंगे भंडार में काम नहीं करेगा (इसके लिए मैन पेज को जांचें)।

# git --work-tree=/path/to/work/tree checkout master 
# GIT_WORK_TREE=/path/to/work/tree git status 
+2

मेरे पास एसएसएच के माध्यम से कई काम करने वाले स्थान हैं और उपर्युक्त पथ पर मैं काम नहीं करता हूं। मैं फिर कार्य-पेड़ पथ कैसे दे सकता हूं? –

+7

उहम ''GIT_WORK_TREE' पर्यावरण चर सेट करके, या' core.worktree' कॉन्फ़िगरेशन विकल्प सेट करके '--work-tree' विकल्प का उपयोग करके। मेरे पास एक डीजा वी है। – Bombe

+2

हम्म, मैंने बस झूठ बोलने के लिए कोर सेट किया है, और देखो और देखो, यह काम करता है w/o --work-tree (जो दस्तावेज़ कहते हैं कि अगर नहीं दिया जाता है, तो गिट मानता है कि आप पेड़ के शीर्ष में हैं।) –

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