मैं एक साझा निर्देशिका से, एक मानक एक के लिए, विंडोज़ से लिनक्स में एक गिट भंडार चिपकाया। और अब, कोई भी git कमांड त्रुटि देता है:

fatal: Invalid path '/shared': No such file or directory.

मैंने इस मुद्दे को .git/config से एक विशिष्ट पैरामीटर पर ट्रैक किया जो परिभाषित करता है:

[core]
    worktree = //shared/directory/source/project

वास्तव में, लिनक्स के तहत, यह डीआईआर मौजूद नहीं है और न ही एक वैध पथ है ... मैं इस समस्या को हल करने वाली रेखा को हटाकर हल कर सकता हूं। लेकिन मुझे इसे क्लीनर तरीके से रीसेट करने के लिए एक भी गिट कमांड नहीं मिला।

git
0
yota 10 सितंबर 2020, 12:18

1 उत्तर

सबसे बढ़िया उत्तर

core.worktree सेटिंग दस्तावेज.

यदि आप इसे Git कमांड का उपयोग करके बदलना चाहते हैं, तो git config core.worktree new-setting का उपयोग करें। यदि आप इसे हटाना चाहते हैं, तो git config --unset या git config --unset-all का उपयोग करें।1 बेशक, यदि यह वर्तमान में अनुपयोगी पथ पर सेट है, तो आपको एक त्रुटि मिलती है:

$ git config core.worktree /no/such/path
$ git config --get core.worktree
fatal: Invalid path '/no': No such file or directory

यह अच्छा हो सकता है अगर git config ने इस समस्या को आंतरिक रूप से पकड़ लिया और chdir को core.worktree पथ के प्रयास से बचा लिया, लेकिन एक आसान समाधान है:

$ git --work-tree=. config --unset core.worktree

इसलिए जब तक/जब तक कोई शुरुआती fatal से बचने के लिए Git को संशोधित नहीं करता, तब तक समाधान का उपयोग करें।


1 --unset-all का उपयोग करने का एकमात्र कारण यह है कि यदि एक से अधिक core.worktree सेटिंग हैं। आम तौर पर नहीं होता।

1
torek 11 सितंबर 2020, 00:39