गिटोसिस के माध्यम से जिस तरह से प्रबंधित किया जाता है, उसके कारण गिटोसिस का अपने आप में कोई निष्कासन कार्य नहीं होता है। यदि आप रिपॉजिटरी को इसमें से हटाते हैं gitosis.conf
और परिवर्तन करते हैं तो रिपॉजिटरी अब सुलभ नहीं है। आप इसे बाद में पुन: सक्षम कर सकते हैं या आप अंततः सर्वर में लॉग इन कर सकते हैं और फ़ाइल को गिटोसिस repositories/
डायरेक्टरी से हटा सकते हैं ।
मैंने अपनी gitosis-admin.git
रिपॉजिटरी पर क्लोन किया और फिर निम्नलिखित को जोड़ा:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
मैं तब अपने घर निर्देशिका में गया और निम्नलिखित प्रदर्शन किया:
mkdir test1
cd test1
git init
git remote add origin git@server:test1.git
echo "Testing" > test.txt
git add test.txt
git commit -m 'First commit'
git push origin master:refs/heads/master
यह सफलतापूर्वक सर्वर पर धकेलना चाहिए और फिर मैंने test1
निर्देशिका को मिटा दिया और इसे गिटोसिस से क्लोन कर दिया:
git clone git@server:test1.git
cd test1
echo "Test worked" > test.txt
git add test.txt
git commit -m 'Second commit'
git push
यह भी सफलतापूर्वक धकेलना चाहिए इसलिए मैं फिर विन्यास test1
से लाइन को हटाता हूं gitosis.conf
और परिवर्तन करता हूं ... मैं फिर निम्नलिखित की कोशिश करता हूं:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
पिछले दो के विपरीत यह एक निम्न त्रुटि संदेश के साथ विफल रहता है:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
त्रुटि इसलिए है क्योंकि गिटोसिस में test1
अब रिपॉजिटरी के लिए कुछ भी कॉन्फ़िगर नहीं है । यदि आप रिपॉजिटरी को फिर से क्लोन करने का प्रयास करते हैं तो आपको वही त्रुटि मिलेगी।