Як видалити сховище Git за допомогою Gitosis


10

Я використовую Gitosis для адміністрування деяких сховищ Git на віддаленому сервері. Оскільки я на початку з цим, я роблю багато помилок. Ось чому зараз мені потрібно видалити сховище Git, яке я створив за допомогою Gitosis. Це можливо за допомогою Gitosis чи мені потрібно увійти в цю машину і зробити це звідти?

Відповіді:


13

Сам по собі Gitosis не має функції видалення через спосіб управління ним через git. Якщо ви виймете сховище з gitosis.confі здійснити зміни, сховище більше не доступне. Ви можете його знову ввімкнути пізніше, або згодом ви можете увійти на сервер та видалити файл із repositories/каталогу gitosis .

Я клонував своє 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каталог і клонував його від 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

Це також має успішно просуватися, тож я потім видаляю 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

Помилка полягає в тому, що в gitosis зараз нічого не налаштовано для test1сховища. Якщо ви знову спробуєте клонувати сховище, ви отримаєте ту ж помилку.


5
Після цього ви можете видалити фізичні сховища на сервері. Увійдіть, перейдіть у домашній каталог git, перейдіть звідти до "сховищ", і у вас є каталоги для всіх ваших сховищ. Видаліть ті, які ви відключили в gitosis.conf.
Євген Лазуткін

2

Ви повинні увійти в машину і видалити там сховище, а потім вам також потрібно видалити сховище з файлу конфігурації gitosis.


0

Відповідь Джеремі Бууза є хорошою стратегією, але фактично не видаляє репо. Іноді вам може знадобитися видалити репо з-за місця на диску, безпеки тощо.

Тому я рекомендую метод ultrafedde, з додаванням того, що вам, ймовірно, потрібно suбуде видалити репо, що належить користувачеві "git", яким ви налаштовані.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.