2012-03-21 9 views
5

मैं अपनी वर्तमान कार्यशील निर्देशिका को बदले बिना गिट में एक फ़ाइल जोड़ना और प्रतिबद्ध करना चाहता हूं। क्या यह संभव है? --work-tree:वर्तमान कार्यशील निर्देशिका को बदले बिना मैं फ़ाइल कैसे जोड़ सकता हूं?

> pwd 
/tmp 

> git --git-dir=/tmp/git_test/.git init 
Initialized empty Git repository in /tmp/git_test/.git/ 

> ls /tmp/git_test 
commit1 

> git --git-dir=/tmp/git_test/.git add /tmp/git_test/commit1 
fatal: '/tmp/git_test/commit1' is outside repository 

> git --git-dir=/tmp/git_test/.git add commit1 
fatal: pathspec 'commit1' did not match any files 

+0

यह "धोखाधड़ी" हो सकता है, लेकिन चल रहा है '(सीडी/टीएमपी/गिट-टेस्ट; गिट एड प्रतिबद्ध 1)' आपके बाहरी शेल को उसी निर्देशिका में छोड़ देगा जो उपशीर्षक को जन्म देने से पहले था जो ' (...) '। –

+0

स्टैक ओवरफ़्लो पर कहीं और उत्तर दिया गया: http: //stackoverflow.com/questions/1386291/git-git-dir-not-working-as-expected – dnw

उत्तर

12

आप एक विकल्प याद किया (Git जोड़ने -एक बल्कि तर्क से, वर्तमान कार्यशील निर्देशिका का उपयोग करने के --git-निर्देशिका करने लगता है)। आप भंडार के बाहर हैं, तो आप दोनों कि और --git-dir आपूर्ति की जरूरत:

--work-tree=<path>

काम कर पेड़ से पथ सेट करें। यह वर्तमान कार्य निर्देशिका से संबंधित एक पूर्ण पथ या पथ हो सकता है। इसे GIT_WORK_TREE पर्यावरण परिवर्तक और core.worktree कॉन्फ़िगरेशन चर सेट करके नियंत्रित किया जा सकता है (अधिक विस्तृत चर्चा के लिए git-config (1) में core.worktree देखें)।

+0

धन्यवाद! जैसा मुझे चाहिए था यह बिल्कुल वैसा ही है। – dnw

+0

यदि यह सही उत्तर है, तो कृपया सही उत्तर के रूप में @ जेफोमी क्रेडिट और चिह्न ("चेक") दें। –

+1

@FlakDiNenno नए उपयोगकर्ताओं को शिक्षित करना निश्चित रूप से अच्छा है, लेकिन यह सवाल दो साल का है और ओपी साढ़े सालों में नहीं देखा गया है। – Cascabel

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

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