2 Punkte von justn 2026-04-17 | 10 Kommentare | Auf WhatsApp teilen

Beim Versuch, ein Test-Repository zu löschen, habe ich versehentlich eine komplette GitHub-Organisation mit 9 Mitgliedern entfernt.

Ich war gerade dabei, End-to-End-Tests für einen Discord-Webhook-Bot durchzuführen und dachte, ich sei in den Settings des Test-Repositories. Also scrollte ich im Danger Zone-Bereich nach unten und klickte auf "Delete this repository". Direkt nach dem Löschen wurde ich nicht zu einer 404-Seite des Repositories weitergeleitet, sondern zu einer 404-Seite der Organisation. Erst da wurde mir klar, dass ich die ganze Zeit in den Settings der Organisation gewesen war.

Der entscheidende Fehler war, dass ich den Bestätigungstext nicht richtig gelesen hatte. Ich war fest davon überzeugt, dass natürlich das Test-Repository gelöscht werden würde, und fügte den Text einfach per Copy-and-Paste ein. Tatsächlich stand im Eingabefeld jedoch der Name der Organisation. Ein einziges Einfügen, und es wurde sofort akzeptiert. Repositorys, Issues, PRs, Discussions und die komplette CI-Historie waren mit einem Schlag verschwunden.

Ich schickte meinem Teamkollegen sofort eine dringende KakaoTalk-Nachricht und schrieb dem GitHub-Support eine E-Mail, dann wartete ich 7 Werktage. In dieser Zeit waren weder Pushes noch das Ansehen von Issues möglich.

Je länger ich darüber nachdachte, desto seltsamer kam es mir vor.

Egal ob Repository-Löschung oder Organisationslöschung: Der Wiederherstellungsweg ist identisch und besteht aus "eine E-Mail an den Support schicken". Bei einer Organisation können aber gleich Dutzende Mitglieder und Dutzende Repositorys auf einmal verschwinden. Trotzdem wurde in der UI einfach derselbe Lösch-Flow wie für Repositorys wiederverwendet, Copy-and-Paste war möglich, und es gab keine Warnung vor der Zerstörungskraft. Ein Button, der 100-mal mehr vernichten kann, ist mit denselben schwachen Guardrails geschützt.

Deshalb habe ich for-real gebaut.

Wenn man in einer registrierten Organisation oder einem registrierten Repository auf den Löschen-Button klickt, fängt die Erweiterung den Klick ab, und erst nach dem manuellen Eintippen eines zufälligen 20-stelligen Codes wird die Aktion für 5 Minuten entsperrt. Copy-and-Paste ist blockiert. Wenn man es ernst meint, kann man den Code eintippen.

Ich weiß, dass GitHub bereits mit der Danger Zone warnt. Aber wenn dadurch auch nur eine einzige Person daran gehindert wird, denselben Fehler zu machen wie ich, dann ist der kleine Zeitaufwand meiner Meinung nach absolut gerechtfertigt.

Die Erweiterung befindet sich derzeit noch in der Prüfung für den Web Store, daher ist im Moment nur eine manuelle Unpacked-Installation möglich. Installationsanleitung und Quellcode liegen im Repository. Feedback ist willkommen.

Showcase: https://www.youtube.com/watch?v=n3q9DMqOb_s

10 Kommentare

 
joyfui 2026-04-17

Ich habe mal die Geschichte gehört, dass jemand beim Versuch, einen YouTube-Kanal zu löschen, stattdessen das Google-Konto gelöscht hat (zum Glück konnte es wiederhergestellt werden).
Hätte ein solcher Ablauf auch bei dieser Person so eine Katastrophe verhindern können...?

 
dydwls140 2026-04-17

Man kann also tatsächlich „Delete this repository“ mit „Delete this organization“ verwechseln.

 
justn 2026-04-17

Die Settings-UI sieht ähnlicher aus, als man denkt, deshalb war ich im zerstreuten Zustand etwas verwirrt;;
GitHub hat es zwar in die Danger Zone ausgelagert, aber am Ende passieren menschliche Fehler auch dort,,

 
dydwls140 2026-04-17

Da muss man wohl vorsichtig sein..

 
ipeng 2026-04-17

https://httpie.io/blog/stardust Früher gab es aus einem ähnlichen Grund schon einmal einen Fall, bei dem 54k Stars zurückgesetzt wurden; damals wurde ebenfalls auf Probleme in der UI hingewiesen — und das ist tatsächlich schon 4 Jahre her.

 
runableapp 2026-04-17

Da dürfte es einem kalt den Rücken heruntergelaufen sein. Es ist beeindruckend, wie Sie Ihre Erfahrung teilen und eine Lösung zur Vermeidung solcher Probleme präsentieren.

Bei einer Löschung in diesem Ausmaß sollte es meiner Meinung nach so etwas wie eine Karenzzeit geben. Wie beim Papierkorb eines Computers sollte die tatsächliche Löschung erst nach einigen Tagen erfolgen, damit es eine Möglichkeit zur Wiederherstellung gibt.

 
hshim 2026-04-17

Puh, da bekommt man echt einen Schreck..

 
holywork 2026-04-17

Es scheint, als müsste man nur Copy-and-paste verhindern.

 
justn 2026-04-17

Ich habe es auch unbedacht per Copy-and-paste eingefügt und dadurch alles gelöscht … Deshalb verhindert dieses Projekt sogar Copy-and-paste. Danke, dass ihr den Artikel gelesen habt.

 
holywork 2026-04-21

Vielen Dank, dass Sie dieses gute Programm geteilt haben. Es wäre schön, wenn GitHub selbst das Löschen von Organisationen oder Konten um etwa 24 bis 72 Stunden verzögern würde.