La gitosis por sí sola no tiene una función de eliminación debido a la forma en que se maneja a través de git commits. Si elimina el repositorio del gitosis.conf
y confirma el cambio, ya no se podrá acceder al repositorio. Puede volver a habilitarlo más tarde o eventualmente puede iniciar sesión en el servidor y eliminar el archivo del repositories/
directorio de gitosis .
Cloné mi gitosis-admin.git
repositorio y agregué lo siguiente y luego me comprometí:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Luego fui a mi directorio personal y realicé lo siguiente:
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
Esto debería empujar con éxito al servidor y luego borré el test1
directorio y lo cloné de la 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
Esto también debería funcionar correctamente, así que luego elimino la test1
línea de la gitosis.conf
configuración y confirmo el cambio ... Luego intento lo siguiente:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
A diferencia de los dos empujes anteriores, este falla con el siguiente mensaje de error:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
El error se debe a que la gitosis no tiene nada configurado para el test1
repositorio ahora. Si intenta clonar el repositorio nuevamente, recibirá el mismo error.
Debe iniciar sesión en la máquina y eliminar el repositorio allí y luego también debe eliminar el repositorio del archivo de configuración de gitosis.
fuente
La respuesta de Jeremy Bouse es una buena estrategia, pero en realidad no elimina el repositorio. En ocasiones, es posible que necesite eliminar el repositorio específicamente debido a espacio en disco, seguridad, etc.
Por lo tanto, recomendaría el método de ultrafedde, con la adición de que probablemente necesitará
su
eliminar el repositorio que posee el usuario "git" que configuró.fuente