La gitose en elle-même n'a pas de fonction de suppression en raison de la façon dont elle est gérée via git commits. Si vous supprimez le référentiel du gitosis.conf
et validez la modification, le référentiel n'est plus accessible. Vous pouvez le réactiver ultérieurement ou vous pouvez éventuellement vous connecter au serveur et supprimer le fichier du repositories/
répertoire gitosis .
J'ai cloné mon gitosis-admin.git
référentiel et ajouté les éléments suivants, puis commis:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Je suis ensuite allé dans mon répertoire personnel et j'ai effectué les opérations suivantes:
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
Cela devrait réussir à pousser vers le serveur, puis j'ai effacé le test1
répertoire et le clone de 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
Cela devrait également pousser avec succès, donc je supprime ensuite la test1
ligne de la gitosis.conf
configuration et valide la modification ... J'essaie ensuite ce qui suit:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
Contrairement aux deux poussées précédentes, celle-ci échoue avec le message d'erreur suivant:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
L'erreur est due au fait que gitosis n'a rien configuré pour le test1
référentiel maintenant. Si vous essayez de cloner à nouveau le référentiel, vous recevrez la même erreur.
Vous devez vous connecter à la machine et y supprimer le référentiel, puis vous devez également supprimer le référentiel du fichier de configuration de gitosis.
la source
La réponse de Jeremy Bouse est une bonne stratégie, mais ne supprime pas réellement le dépôt. Parfois, vous devrez peut-être spécifiquement supprimer le référentiel en raison de l'espace disque, de la sécurité, etc.
Je recommanderais donc la méthode d'ultrafedde, avec l'ajout que vous devrez probablement
su
supprimer le dépôt que l'utilisateur "git" que vous configurez possède.la source