ฉันทำงานที่เก็บข้อมูลในบัญชี GitHub ของฉันและนี่เป็นปัญหาที่ฉันสะดุด
- โปรเจ็กต์ Node.js พร้อมโฟลเดอร์ที่ติดตั้งแพ็กเกจ npm สองสามตัว
- แพ็คเกจอยู่ใน
node_modules
โฟลเดอร์ - เพิ่มโฟลเดอร์นั้นไปยังที่เก็บ git และผลักรหัสไปที่ github (ไม่ได้คิดเกี่ยวกับส่วนของ npm ในเวลานั้น)
- รับรู้ว่าคุณไม่จำเป็นต้องใช้โฟลเดอร์นั้นเพื่อเป็นส่วนหนึ่งของรหัส
- ลบโฟลเดอร์นั้นแล้วผลักออก
ในกรณีดังกล่าวขนาดของ repo git รวมอยู่ที่ประมาณ6MBซึ่งโค้ดจริง (ทั้งหมดยกเว้นโฟลเดอร์นั้น) มีขนาดประมาณ300 KBเท่านั้น
ตอนนี้สิ่งที่ฉันกำลังมองหาในที่สุดคือวิธีการกำจัดรายละเอียดของโฟลเดอร์แพ็คเกจจากประวัติของ git ดังนั้นหากใครบางคนลอกแบบพวกเขาไม่ต้องดาวน์โหลดประวัติมูลค่า 6mb ที่ไฟล์จริงเท่านั้นที่พวกเขาจะได้รับ ณ ค่าคอมมิชชันล่าสุดจะเป็น 300KB
ฉันค้นหาวิธีแก้ปัญหาที่เป็นไปได้สำหรับสิ่งนี้และลองใช้ทั้งสองวิธี
- ลบไฟล์ออกจากที่เก็บ git (ประวัติ)
- http://help.github.com/remove-sensitive-data/
- https://gist.github.com/1588371
สรุปสาระสำคัญดูเหมือนว่ามันทำงานที่ไหนหลังจากที่เรียกใช้สคริปต์ก็แสดงให้เห็นว่ามันได้รับการกำจัดของโฟลเดอร์นั้นและหลังจากนั้นมันก็แสดงให้เห็นว่า 50 commits ที่แตกต่างกันได้รับการแก้ไข แต่มันก็ไม่ให้ฉันกดรหัสนั้น เมื่อฉันพยายามที่จะผลักดันมันก็กล่าวว่าBranch up to date
แต่แสดงให้เห็นว่า 50 git status
กระทำการแก้ไขเมื่อ อีกสองวิธีไม่ได้ช่วยเช่นกัน
ตอนนี้แม้ว่ามันจะแสดงให้เห็นว่ามันกำจัดประวัติของโฟลเดอร์นั้นเมื่อฉันตรวจสอบขนาดของ repo บน localhost ของฉันมันก็ยังคงอยู่ประมาณ 6MB (ฉันลบrefs/original
โฟลเดอร์ด้วย แต่ไม่เห็นการเปลี่ยนแปลงขนาดของ repo)
สิ่งที่ฉันต้องการชี้แจงคือถ้ามีวิธีการกำจัดไม่เพียง แต่ประวัติการกระทำ (ซึ่งเป็นสิ่งเดียวที่ฉันคิดว่าเกิดขึ้น) แต่ยังไฟล์คอมไพล์เหล่านั้นคือการรักษาสมมติว่าต้องการย้อนกลับ
ช่วยบอกว่ามีการนำเสนอวิธีแก้ปัญหาสำหรับสิ่งนี้และนำไปใช้กับ localhost ของฉัน แต่ไม่สามารถทำซ้ำกับ GitHub repo ได้มันเป็นไปได้ที่จะลอกเลียน repo นั้นย้อนกลับไปที่คอมมิชชันแรกแล้วใช้มัน (หรือนั่นหมายความว่า ยังมีประวัติของการกระทำเหล่านั้นทั้งหมดหรือไม่ - aka. 6MB)
เป้าหมายสุดท้ายของฉันคือการหาวิธีที่ดีที่สุดในการกำจัดเนื้อหาของโฟลเดอร์ออกจากคอมไพล์เพื่อให้ผู้ใช้ไม่ต้องดาวน์โหลดสิ่งของ 6MB และยังมีคอมมิทอื่น ๆ ที่ไม่เคยสัมผัสโฟลเดอร์โมดูล มาก) ในประวัติศาสตร์ของคอมไพล์
ฉันจะทำสิ่งนี้ได้อย่างไร