2 puan yazan justn 2026-04-17 | 10 yorum | WhatsApp'ta paylaş

Test reposunu silecekken 9 kişilik bir GitHub organizasyonunu komple sildim.

Discord webhook botu için end-to-end test yapıyordum; test reposunun Settings sayfasındayım sanıp Danger Zone’a kadar kaydırdım ve "Delete this repository"ye bastım. Silmeden hemen sonra yönlendirildiğim sayfa repo 404’ü değil organizasyon 404’üydü; ancak o zaman baştan beri organizasyon Settings’inde olduğumu fark ettim.

Asıl ölümcül hata, onay metnini düzgün okumamış olmamdı. Silinecek şeyin tabii ki test reposu olduğuna inanıp kopyala-yapıştır yaptım, ama giriş alanına giren şey aslında organizasyon adıydı. Tek bir kopyala-yapıştırla doğrudan geçti. Repo, issue’lar, PR’lar, discussion’lar, CI geçmişi, hepsi tek seferde yok oldu.

Ekip arkadaşlarıma acil KakaoTalk mesajı attım ve GitHub destek ekibine e-posta gönderdim; ardından 7 iş günü bekledim. Bu süre boyunca ne push atabiliyorsunuz ne de issue’ları görebiliyorsunuz.

Reklam

Ama düşündükçe daha da tuhaf gelmeye başladı.

İster repo silme ister organizasyon silme olsun, geri yükleme yolu aynı: "destek ekibine e-posta". Ama organizasyon silinince onlarca üye ve onlarca repo bir anda yok oluyor; buna rağmen arayüz repo silme akışını aynen yeniden kullanmış, kopyala-yapıştır da çalışıyor ve yıkıcı etkiye dair bir uyarı da yok. 100 kat daha fazlasını silebilen bir düğme, aynı derecede zayıf güvenlik önlemleriyle korunuyor.

Bu yüzden for-real’i yaptım.

Reklam

Kayıtlı repo/organizasyonlarda silme düğmesine bastığınızda tıklamayı ele geçiriyor ve 20 karakterlik rastgele bir kodu elle yazmanız gerektiğinde yalnızca 5 dakika boyunca kilidi açıyor. Kopyala-yapıştır engellendi. Gerçekten eminseniz yazarsınız.

GitHub’ın zaten Danger Zone ile uyardığını biliyorum. Ama benim yaptığım hatayı bir kişinin bile yapmasını engelleyebilirse, bunun için harcanan azıcık zamanın fazlasıyla değerli olduğunu düşündüm.

Şu anda Web Store incelemesinde olduğu için yalnızca unpacked kurulum mümkün. Kurulum rehberi ve kaynak kod repo içinde var. Geri bildirimlere açığım.

Gösterim: https://www.youtube.com/watch?v=n3q9DMqOb_s

10 yorum

 
joyfui 2026-04-17

YouTube kanalını silmeye çalışırken Google hesabını sildiğine dair bir hikâye duymuştum (neyse ki geri yüklenmiş).
O kişinin önünde de böyle bir prosedür olsaydı, acaba böyle bir facia önlenebilir miydi...?

 
dydwls140 2026-04-17

Delete this repository ile Delete this organization şeylerini karıştırmak da mümkünmüş.

 
justn 2026-04-17

Ayarlar arayüzü düşündüğümden daha benzer göründüğü için, dalgınken yapınca insanın kafası karışıyor;;
GitHub bunu Danger Zone olarak ayırmış olsa da, sonuçta insan hatası orada da yaşanabiliyor,,

 
dydwls140 2026-04-17

Dikkatli olmak gerekecek..

 
ipeng 2026-04-17

https://httpie.io/blog/stardust Geçmişte benzer bir nedenle 54k star'ın sıfırlandığı bir olay da olmuştu; o zaman da UI sorunu eleştirilmişti, ama üzerinden şimdiden 4 yıl geçmiş.

 
runableapp 2026-04-17

Gerçekten insanın içine bir ürperti düşmüştür. Deneyiminizi paylaşıp sorunu önlemeye yönelik bir çözüm ortaya koymanız çok etkileyici.

Böylesine büyük ölçekli silmelerde bir tür bekleme süresi olması gerekmez mi diye düşünüyorum. Bilgisayardaki çöp kutusu gibi, asıl silmenin birkaç gün sonra gerçekleşmesini sağlayıp geri yüklemeye imkân veren bir mekanizma gerekli görünüyor.

 
hshim 2026-04-17

Vay canına, insan gerçekten irkiliyor..

 
holywork 2026-04-17

Sadece kopyala-yapıştırı engellemek yeterli gibi görünüyor.

 
justn 2026-04-17

Ben de düşünmeden kopyala-yapıştır yapıp silmiştim, o yüzden bu projede kopyala-yapıştır da engellendi. Yazıyı okuduğunuz için teşekkürler

 
holywork 2026-04-21

İyi bir program paylaştığınız için teşekkürler. GitHub tarafının organizasyon veya hesap silmeyi kendi içinde 24-72 saat kadar geciktirmesi de iyi olurdu.