Come eliminare il repository Git con Gitosis


10

Sto usando Gitosis per amministrare alcuni repository Git su un server remoto. Da quando sono all'inizio, faccio molti errori. Ecco perché in questo momento ho bisogno di eliminare un repository Git che ho creato con Gitosis. È possibile usare Gitosis o devo accedere a quella macchina e farlo da lì?

Risposte:


13

Gitosi da sola non ha una funzione di rimozione a causa del modo in cui è gestita tramite commit git. Se si rimuove il repository da gitosis.confe si esegue il commit della modifica, il repository non sarà più accessibile. Puoi riattivarlo in un secondo momento o eventualmente accedere al server e rimuovere il file dalla repositories/directory gitosis .

Ho clonato il mio gitosis-admin.gitrepository e aggiunto quanto segue, quindi ho eseguito il commit:

[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse

Sono quindi andato alla mia directory home ed ho eseguito le seguenti operazioni:

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

Questo dovrebbe inviare correttamente al server e quindi ho cancellato la test1directory e clonata dalla gitosi:

git clone git@server:test1.git
cd test1
echo "Test worked" > test.txt
git add test.txt
git commit -m 'Second commit'
git push

Anche questo dovrebbe funzionare correttamente, quindi rimuovo la test1linea dalla gitosis.confconfigurazione e apporto la modifica ... Provo quindi quanto segue:

cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push

A differenza dei due precedenti push, questo fallisce con il seguente messaggio di errore:

ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly

L'errore è perché la gitosi non ha nulla configurato per il test1repository ora. Se si tenta di clonare nuovamente il repository, si riceverà lo stesso errore.


5
Successivamente è possibile rimuovere i repository fisici sul server. Effettua il login, vai alla home directory di git, vai ai "repository" da lì, e hai le directory per tutti i tuoi repository. Rimuovi quelli che hai disabilitato in gitosis.conf.
Eugene Lazutkin,

2

Devi accedere al computer e rimuovere il repository lì, quindi rimuovere anche il repository dal file di configurazione di gitosis.


0

La risposta di Jeremy Bouse è una buona strategia, ma in realtà non cancella il repository. A volte potresti dover specificamente eliminare il repository a causa dello spazio su disco, della sicurezza, ecc.

Quindi consiglierei il metodo ultrafedde, con l'aggiunta che probabilmente dovrai surimuovere il repository che possiede l'utente "git" che hai impostato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.