Как удалить Git-репозиторий с помощью Gitosis

10

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

Ionuț G. Stan
источник

Ответы:

13

Гитоз сам по себе не имеет функции удаления из-за способа управления им с помощью коммитов 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.

f.ederi.co
источник
0

Ответ Джереми Бауса - хорошая стратегия, но на самом деле он не удаляет репо. Иногда вам может понадобиться удалить репозиторий из-за дискового пространства, безопасности и т. Д.

Поэтому я бы порекомендовал метод ultrafedde, с добавлением, что вам, вероятно, потребуется suудалить репозиторий, которым владеет настроенный вами пользователь git.

Брайан Кеннеди
источник