Гитоз сам по себе не имеет функции удаления из-за способа управления им с помощью коммитов 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
хранилища. Если вы попытаетесь клонировать хранилище снова, вы получите ту же ошибку.
Вы должны войти в систему и удалить хранилище, а затем вы также должны удалить хранилище из файла конфигурации gitosis.
источник
Ответ Джереми Бауса - хорошая стратегия, но на самом деле он не удаляет репо. Иногда вам может понадобиться удалить репозиторий из-за дискового пространства, безопасности и т. Д.
Поэтому я бы порекомендовал метод ultrafedde, с добавлением, что вам, вероятно, потребуется
su
удалить репозиторий, которым владеет настроенный вами пользователь git.источник