2 คะแนน โดย justn 2026-04-17 | 10 ความคิดเห็น | แชร์ทาง WhatsApp

ผมตั้งใจจะลบรีโปทดสอบ แต่กลับเผลองค์กร GitHub ที่มีสมาชิก 9 คนหายไปทั้งก้อน

ตอนนั้นกำลังทำ end-to-end test ให้บอต Discord webhook อยู่ และคิดว่าตัวเองอยู่ใน Settings ของรีโปทดสอบ เลยเลื่อนไปที่ Danger Zone แล้วกด "Delete this repository" หลังลบเสร็จ หน้าที่รีไดเร็กต์ไปไม่ใช่หน้า 404 ของรีโป แต่เป็นหน้า 404 ขององค์กร ตอนนั้นเองผมถึงได้รู้ว่าตลอดเวลาที่ผ่านมา ผมอยู่ใน Settings ขององค์กร

จุดพังคือผมไม่ได้อ่านข้อความยืนยันให้ดี ผมเชื่อไปเองว่าสิ่งที่จะลบต้องเป็นรีโปทดสอบแน่ ๆ เลยก๊อปปี้วางไปเลย และสิ่งที่อยู่ในช่องกรอกจริง ๆ คือชื่อองค์กร วางครั้งเดียวก็ผ่านทันที รีโป, issue, PR, discussion และประวัติ CI หายไปหมดในทีเดียว

ผมรีบส่ง KakaoTalk หาทีมด่วน แล้วก็ส่งอีเมลหา GitHub support จากนั้นต้องรอ 7 วันทำการ ระหว่างนั้นทั้ง push และดู issue ก็ทำไม่ได้

โฆษณา

แต่ยิ่งคิดก็ยิ่งแปลก

ไม่ว่าจะเป็นการลบรีโปหรือการลบองค์กร เส้นทางการกู้คืนก็เหมือนกันคือ "ส่งอีเมลหาทีม support" แต่ฝั่งองค์กรสามารถทำให้สมาชิกหลายสิบคนและรีโปหลายสิบอันหายไปทั้งก้อน ทว่า UI กลับนำ flow การลบรีโปมาใช้ซ้ำแบบเดิมทุกอย่าง ทั้งยังก๊อปปี้วางได้ และไม่มีคำเตือนเรื่องความเสียหายเลย ปุ่มที่สามารถทำลายได้มากกว่า 100 เท่า กลับถูกป้องกันด้วย guardrail ที่อ่อนพอ ๆ กัน

เลยทำ for-real ขึ้นมา

โฆษณา

ถ้ากดปุ่มลบในรีโป/องค์กรที่ลงทะเบียนไว้ มันจะดักคลิกไว้ก่อน และต้องพิมพ์รหัสสุ่ม 20 ตัวด้วยตัวเองถึงจะปลดล็อกได้ 5 นาที การก๊อปปี้วางถูกบล็อกไว้แล้ว ถ้าตั้งใจจริงก็พิมพ์เอาได้

ผมรู้ว่า GitHub ก็มีคำเตือนใน Danger Zone อยู่แล้ว แต่ถ้ามันช่วยกันไม่ให้มีแม้แต่คนเดียวทำพลาดแบบผมได้ ผมคิดว่าเสียเวลาเพิ่มอีกนิดก็คุ้มค่า

ตอนนี้ยังติดการตรวจสอบใน Web Store เลยติดตั้งได้แบบ unpacked only คู่มือติดตั้งและซอร์สโค้ดอยู่ในรีโป ยินดีรับ feedback

โชว์เคส: https://www.youtube.com/watch?v=n3q9DMqOb_s

10 ความคิดเห็น

 
joyfui 2026-04-17

เคยได้ยินเรื่องว่ามีคนพยายามลบช่อง YouTube แต่ดันลบบัญชี Google ไปทั้งบัญชีแทนด้วยครับ (โชคดีที่กู้คืนได้)
ถ้าตอนนั้นมีขั้นตอนแบบนี้ เหตุการณ์น่าเศร้าแบบนั้นก็คงป้องกันได้ไหมนะ...?

 
dydwls140 2026-04-17

Delete this repository, Delete this organization แบบนี้ก็สับสนกันได้สินะ

 
justn 2026-04-17

หน้าตา UI ของ Settings คล้ายกันกว่าที่คิด เลยพอทำตอนเผลอ ๆ ก็สับสนได้เหมือนกันนะ;;
ถึง GitHub จะแยกไว้ใน Danger Zone แล้ว แต่สุดท้าย human error ก็ยังเกิดขึ้นได้แม้อยู่ในนั้น,,

 
dydwls140 2026-04-17

ต้องระวังนะ..

 
ipeng 2026-04-17

https://httpie.io/blog/stardust ก่อนหน้านี้ก็เคยมีกรณีที่จำนวน 54k star ถูกรีเซ็ตด้วยเหตุผลคล้ายกัน ตอนนั้นก็มีการชี้ปัญหาเรื่อง UI เช่นกัน ไม่น่าเชื่อว่าเวลาผ่านมาแล้วถึง 4 ปี

 
runableapp 2026-04-17

คงขนลุกไม่น้อยเลยครับ ดูยอดเยี่ยมมากที่คุณแบ่งปันประสบการณ์และเสนอวิธีแก้ปัญหาเพื่อป้องกันไม่ให้เกิดขึ้นอีก

การลบครั้งใหญ่ขนาดนี้น่าจะควรมีช่วงผ่อนผันอะไรสักอย่างนะครับ เหมือนถังขยะของคอมพิวเตอร์ที่ให้การลบจริงเกิดขึ้นหลังจากผ่านไปหลายวัน เพื่อให้มีทางเลือกสำหรับกู้คืนกลับมาได้อีกครั้ง

 
hshim 2026-04-17

โอย ตกใจหมดเลย..

 
holywork 2026-04-17

ดูเหมือนว่าแค่ป้องกันการคัดลอกวางก็น่าจะพอแล้ว

 
justn 2026-04-17

ผมเองก็ก๊อปปี้วางแบบไม่ทันคิดจนลบหายเหมือนกัน... ในโปรเจกต์นี้เลยใส่การป้องกันการก๊อปปี้วางไว้ด้วย ขอบคุณที่อ่านครับ

 
holywork 2026-04-21

ขอบคุณที่แชร์โปรแกรมดี ๆ ครับ/ค่ะ คงจะดีไม่น้อยถ้าทาง GitHub เองจะหน่วงเวลาการลบองค์กรหรือบัญชีไว้สักประมาณ 24-72 ชั่วโมง