Gitosis selbst hat keine Entfernungsfunktion, da es über Git-Commits verwaltet wird. Wenn Sie das Repository aus dem entfernen gitosis.conf
und die Änderung festschreiben, ist auf das Repository nicht mehr zugegriffen. Sie können es später wieder aktivieren oder sich schließlich beim Server anmelden und die Datei aus dem Gitosis- repositories/
Verzeichnis entfernen .
Ich habe mein gitosis-admin.git
Repository geklont und Folgendes hinzugefügt und dann festgeschrieben:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Ich ging dann zu meinem Home-Verzeichnis und führte Folgendes aus:
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
Dies sollte erfolgreich auf den Server übertragen werden und dann habe ich das test1
Verzeichnis gelöscht und es von gitosis geklont:
git clone git@server:test1.git
cd test1
echo "Test worked" > test.txt
git add test.txt
git commit -m 'Second commit'
git push
Dies sollte auch erfolgreich pushen, damit ich dann die test1
Zeile aus der gitosis.conf
Konfiguration entferne und die Änderung festschreibe ... Ich versuche dann Folgendes:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
Im Gegensatz zu den beiden vorherigen Pushs schlägt dieser mit der folgenden Fehlermeldung fehl:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
Der Fehler liegt darin, dass für gitosis derzeit nichts für das test1
Repository konfiguriert ist . Wenn Sie erneut versuchen, das Repository zu klonen, wird der gleiche Fehler angezeigt.
Sie müssen sich am Computer anmelden und dort das Repository entfernen. Anschließend müssen Sie auch das Repository aus der Gitosis-Konfigurationsdatei entfernen.
quelle
Die Antwort von Jeremy Bouse ist eine gute Strategie, löscht das Repo jedoch nicht . Manchmal müssen Sie das Repo möglicherweise speziell aufgrund von Speicherplatz, Sicherheit usw. löschen.
Daher würde ich die Methode von ultrafedde empfehlen, mit dem Zusatz, dass Sie wahrscheinlich
su
das Repo entfernen müssen, das der von Ihnen eingerichtete "Git" -Benutzer besitzt.quelle