Gitosis dengan sendirinya tidak memiliki fungsi menghilangkan karena cara itu dikelola melalui git melakukan. Jika Anda menghapus repositori dari gitosis.conf
dan melakukan perubahan maka repositori tidak lagi dapat diakses. Anda dapat mengaktifkannya kembali nanti atau Anda akhirnya bisa masuk ke server dan menghapus file dari repositories/
direktori gitosis .
Saya mengkloning gitosis-admin.git
repositori saya dan menambahkan yang berikut kemudian dilakukan:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Saya kemudian pergi ke direktori home saya dan melakukan yang berikut:
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
Ini harus berhasil mendorong ke server dan kemudian saya menghapus test1
direktori dan mengkloningnya dari gitosis:
git clone git@server:test1.git
cd test1
echo "Test worked" > test.txt
git add test.txt
git commit -m 'Second commit'
git push
Ini juga harus berhasil mendorong jadi saya kemudian menghapus test1
garis dari gitosis.conf
konfigurasi dan melakukan perubahan ... Saya kemudian coba yang berikut:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
Berbeda dengan dua dorongan sebelumnya, yang satu ini gagal dengan pesan kesalahan berikut:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
Kesalahannya adalah karena gitosis tidak memiliki apa pun yang dikonfigurasi untuk test1
repositori sekarang. Jika Anda mencoba untuk mengkloning repositori lagi Anda akan menerima kesalahan yang sama.
Anda harus masuk ke mesin dan menghapus repositori di sana dan kemudian Anda juga harus menghapus repositori dari file konfigurasi gitosis.
sumber
Jawaban Jeremy Bouse adalah strategi yang baik, tetapi tidak benar-benar menghapus repo. Terkadang Anda mungkin perlu menghapus repo karena ruang disk, keamanan, dll.
Jadi saya akan merekomendasikan metode ultrafedde, dengan tambahan bahwa Anda mungkin perlu
su
menghapus repo yang dimiliki oleh pengguna "git" yang Anda setup.sumber