Cara menghapus repositori Git dengan Gitosis

10

Saya menggunakan Gitosis untuk mengelola beberapa repositori Git pada server jarak jauh. Karena saya awalnya dengan itu, saya membuat banyak kesalahan. Itulah sebabnya saat ini saya perlu menghapus repositori Git yang saya buat dengan Gitosis. Apakah ini mungkin menggunakan Gitosis atau apakah saya harus masuk ke mesin itu dan melakukannya dari sana?

Ionuț G. Stan
sumber

Jawaban:

13

Gitosis dengan sendirinya tidak memiliki fungsi menghilangkan karena cara itu dikelola melalui git melakukan. Jika Anda menghapus repositori dari gitosis.confdan 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.gitrepositori 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 test1direktori 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 test1garis dari gitosis.confkonfigurasi 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 test1repositori sekarang. Jika Anda mencoba untuk mengkloning repositori lagi Anda akan menerima kesalahan yang sama.

Jeremy Bouse
sumber
5
Setelah itu Anda dapat menghapus repositori fisik di server. Masuk, pergi ke direktori home git, pergi ke "repositori" dari sana, dan Anda memiliki direktori untuk semua repositori Anda. Hapus yang Anda nonaktifkan di gitosis.conf.
Eugene Lazutkin
2

Anda harus masuk ke mesin dan menghapus repositori di sana dan kemudian Anda juga harus menghapus repositori dari file konfigurasi gitosis.

f.ederi.co
sumber
0

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 sumenghapus repo yang dimiliki oleh pengguna "git" yang Anda setup.

bryan kennedy
sumber