Cómo eliminar el repositorio de Git con Gitosis

10

Estoy usando Gitosis para administrar algunos repositorios de Git en un servidor remoto. Como estoy al principio con eso, cometo muchos errores. Es por eso que ahora necesito eliminar un repositorio de Git que creé con Gitosis. ¿Es posible usar Gitosis o tengo que iniciar sesión en esa máquina y hacerlo desde allí?

Ionuț G. Stan
fuente

Respuestas:

13

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.confy 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.gitrepositorio 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 test1directorio 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 test1línea de la gitosis.confconfiguració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 test1repositorio ahora. Si intenta clonar el repositorio nuevamente, recibirá el mismo error.

Jeremy Bouse
fuente
55
Después de eso, puede eliminar repositorios físicos en el servidor. Inicie sesión, vaya al directorio de inicio de git, vaya a "repositorios" desde allí y tendrá directorios para todos sus repositorios. Elimine los que deshabilitó en gitosis.conf.
Eugene Lazutkin
2

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.

f.ederi.co
fuente
0

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á sueliminar el repositorio que posee el usuario "git" que configuró.

Bryan Kennedy
fuente