Я использую Gitosis для администрирования некоторых репозиториев Git на удаленном сервере. Поскольку я в самом начале, то делаю много ошибок. Вот почему прямо сейчас мне нужно удалить репозиторий Git, который я создал с помощью Gitosis. Возможно ли это с помощью Gitosis или мне нужно войти на эту машину и сделать это оттуда?
Сам по себе Gitosis не имеет функции удаления из-за того, как он управляется через коммиты git. Если вы удалите репозиторий из gitosis.conf
и зафиксируйте изменение, тогда репозиторий станет недоступен. Вы можете повторно включить его позже или вы можете в конечном итоге войти на сервер и удалить файл из gitosis. repositories/
каталог.
Я клонировал свой 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
config и зафиксировать изменение ... Затем я пробую следующее:
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.
Ответ Джереми Бауса - хорошая стратегия, но на самом деле не Удалить репо. Иногда вам может потребоваться удалить репо из-за места на диске, безопасности и т. Д.
Поэтому я бы порекомендовал метод Ультрафедде с добавлением, которое вам, вероятно, понадобится su
чтобы удалить репо, принадлежащее настроенному вами пользователю "git".