การลบข้อมูลออกจาก Git server

การลบข้อมูลออกจาก Git server ต่างๆ เช่น GitHub, Gitea เป็นต้น สามารถทำได้โดยใช้เครื่องมือต่างๆ. หนึ่งในเครื่องมือที่จะแนะนำในบทความนี้คือ git-filter-repo.

การลบข้อมูลต่อไปนี้ เป็นการลบไฟล์และประวัติการ commit ออกไป เพื่อป้องกันข้อมูลที่อ่อนไหว เช่น ข้อมูลรหัสผ่าน ที่เผลอติด commit ไปด้วย เป็นต้น.

  1. ติดตั้ง git-filter-repo สามารถอ่านรายละเอียดได้จากทางผู้จัดทำ.
  2. ถ้าคุณยังไม่เคย clone ข้อมูลจาก Git server ให้ทำการโคลนลงมาก่อน ด้วยคำสั่ง git clone https://GIT-SERVER/YOUR-REPOSITORY.
  3. เปิดไปยังโฟลเดอร์ที่คุณทำงาน
  4. ใช้คำสั่งต่อไปนี้เพื่อทำการล้างข้อมูลที่มีไฟล์ดังกล่าวอยู่ออก.
    git filter-repo --path "FILE-PATH" --invert-paths

    ให้ทำการแปลง FILE-PATH ไปเป็นตำแหน่งไฟล์ที่คุณต้องการ โดยใช้วิธีอ้างอิงจากตำแหน่งหน้าแรกของ git repository นั้น, ไม่ต้องใช้ path เต็ม และใช้ / แทน \ บน Windows.

    ตัวอย่าง config/mypassword.json

  5. ในขั้นตอนข้างบน URL ของ Git server จะถูกทำให้หายไป ซึ่งต้องเพิ่มกลับเข้าไปใหม่ด้วยคำสั่ง.
    git remote add origin https://GIT-SERVER/YOUR-REPOSITORY
  6. เมื่อพอใจแล้ว ให้สั่ง push กลับไปยัง server.
    git push origin --all

    ทั้งนี้ถ้าหากสั่งลบข้อมูลจาก tag ด้วย ให้ใช้คำสั่งต่อไปนี้ซ้ำอีกครั้ง

    git push origin --tags

ทั้งหมดนี้เป็นอันเสร็จสิ้นขั้นตอน ให้ทดลองเปิดดูบน Git server นั้นๆ เพื่อตรวจสอบอีกครั้งว่าข้อมูลถูกลบออกไปแล้วจริงๆ.

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

คุณอาจใช้แท็กHTMLและแอททริบิวต์เหล่านี้: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>