मुझे डॉटफाइल प्रबंधित करने के लिए एक मौजूदा निर्देशिका ($HOME
) में एक गिट रेपो क्लोन करने की आवश्यकता है। मैं एक नंगे क्लोन कर रहा हूं और इसे पुन: कॉन्फ़िगर कर रहा हूं क्योंकि मुझे मौजूदा अशुद्ध कार्य निर्देशिका में क्लोन करने की आवश्यकता है। यह काम करता है, हालांकि मुझे लगता है कि git status
पहले उपयोग पर फ़िल्टर चलाने की कोशिश करता है। ऐसा क्यों करता है और मैं इसे कैसे रोक सकता हूं?'गिट स्टेटस' फ़िल्टर क्यों चलाता है?
इस प्रयास करें:
# create a test repo
mkdir test && cd test
git init
echo hello > hello.txt
git add .
git commit -m 1
echo 'hello.txt filter=foo diff=bar' > .gitattributes
git add .
git commit -m 2
# clone it bare and configure it
mkdir ../test2 && cd ../test2
git clone --bare ../test .git
git config core.bare false
git config core.logallrefupdates true
git reset
git checkout .
git config filter.foo.clean foo
git config filter.foo.smudge foo
git config diff.bar.textconv bar
यह borks
$ git status
error: cannot run foo: No such file or directory
error: cannot fork to run external filter 'foo'
error: external filter 'foo' failed
On branch master
nothing to commit, working tree clean
यह
$ git status
On branch master
nothing to commit, working tree clean
इसके अलावा
नहीं, शुरू में जल्दी जल्दी में git status
कई बार कर रही है (यानी git status; git status; git status)
कई उपज कर सकते हैं करता है असफलता। कभी-कभी
जहां तक मैं much reading द्वारा पुष्टि कर सकता हूं, फ़िल्टर केवल फाइलों को चेक आउट करते समय ही चलाना चाहिए।
तो git status
क्यों उन्हें चलाता है?
आपका 'गिट-वर्जन' क्या है? –
गिट संस्करण 2.11.0 – starfry
संयोग से, मैं इस तरह से डॉट-फाइलों का प्रबंधन नहीं करता (और नहीं)। इसके बजाए, मेरे पास मेरी होम निर्देशिका में 'डॉटफाइल' नामक एक गिट निर्देशिका है, जो एक सामान्य गैर-नंगे पेड़ है, और फिर मैं सिमलिंक '। जो भी' डॉटफाइल/जो भी 'से सिमलिंक करता हूं। – torek