Gitosis के साथ Git रिपॉजिटरी को कैसे हटाएं


10

मैं एक दूरस्थ सर्वर पर कुछ गिट रिपॉजिटरी को प्रशासित करने के लिए Gitosis का उपयोग कर रहा हूं। चूंकि मैं इसके साथ शुरुआत में हूं, इसलिए मैं बहुत सारी गलतियां करता हूं। यही कारण है कि अभी मुझे एक गिट रिपॉजिटरी को हटाने की जरूरत है जो मैंने गिटोसिस के साथ बनाया था। क्या यह गितोसिस का उपयोग करना संभव है या क्या मुझे उस मशीन में लॉग इन करना है और वहां से करना है?

जवाबों:


13

गिटोसिस के माध्यम से जिस तरह से प्रबंधित किया जाता है, उसके कारण गिटोसिस का अपने आप में कोई निष्कासन कार्य नहीं होता है। यदि आप रिपॉजिटरी को इसमें से हटाते हैं 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अब रिपॉजिटरी के लिए कुछ भी कॉन्फ़िगर नहीं है । यदि आप रिपॉजिटरी को फिर से क्लोन करने का प्रयास करते हैं तो आपको वही त्रुटि मिलेगी।


5
उसके बाद आप सर्वर पर भौतिक रिपॉजिटरी को हटा सकते हैं। लॉगिन करें, git के होम डायरेक्टरी पर जाएं, वहां से "रिपॉजिटरी" पर जाएं, और आपके सभी रिपॉजिटरी के लिए डायरेक्ट्री हैं। उन लोगों को निकालें जिन्हें आपने gitosis.conf में अक्षम किया है।
यूजीन लाजुटकिन

2

आपको मशीन में लॉग इन करना होगा और वहां रिपॉजिटरी को हटाना होगा और फिर आपको गिटोसिस कॉन्फ़िगरेशन फाइल से रिपॉजिटरी को भी हटाना होगा।


0

जेरेमी बोस का जवाब एक अच्छी रणनीति है, लेकिन वास्तव में रेपो को नष्ट नहीं करता है । कभी-कभी आपको डिस्क स्थान, सुरक्षा आदि के कारण विशेष रूप से रेपो को हटाने की आवश्यकता हो सकती है।

तो मैं ultrafedde की विधि को पुनः शामिल करूंगा, इसके अतिरिक्त आपको संभवतः suउस रेपो को हटाने की आवश्यकता होगी जिसे "git" उपयोगकर्ता आपके सेटअप का मालिक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.