ฉันต้องการให้ git หยุดติดตามบันทึกการพัฒนาในเครื่องของฉัน (log / development.log) ในที่เก็บของเรา เป็นไปได้หรือไม่และฉันจะทำได้อย่างไร
ฉันต้องการให้ git หยุดติดตามบันทึกการพัฒนาในเครื่องของฉัน (log / development.log) ในที่เก็บของเรา เป็นไปได้หรือไม่และฉันจะทำได้อย่างไร
คำตอบ:
เพียงเพื่อให้คำตอบทั้งหมดในครั้งเดียว:
จาก klemens: คุณต้องเพิ่มไฟล์ลงในไฟล์ของคุณ.gitignoreเหนือไฟล์ที่ไม่ต้องการใน repo กล่าวคือ
$ cd $ cat >> .gitignore development.log Cd
จากม. narebski: จากนั้นคุณต้องลบไฟล์ออกจาก repo โดยดำเนินการ " git rm --cached <file>แล้วจึงทำการลบนี้"
หากคุณหวังว่าจะทำให้ repo ดูเหมือนว่าไม่เคยติดตามไฟล์นั้นมาก่อนนั่นเป็นเรื่องที่ซับซ้อนและท้อแท้มากขึ้นเนื่องจากไม่เพียง แต่สร้างความมุ่งมั่นใหม่สำหรับทุกการกระทำในประวัติศาสตร์ของคุณเท่านั้น แต่ยังทำลายความสามารถในการทำงานร่วมกันด้วยวิธีที่น่ารังเกียจ ระหว่างคนอื่น ๆ ที่โคลน repo ของคุณ แต่มันก็ทิ้งทุกการกระทำที่ยังไม่ผ่านการทดสอบ (สมมติว่าคุณทดสอบการกระทำของคุณก่อนที่จะทำ)
filter-branchและด้วยคำเตือนที่ในใจเครื่องมือที่คุณกำลังมองหาว่าที่เป้าหมายของคุณคือ ตัวอย่างแรกเป็นสิ่งที่ฉันอธิบาย
หากต้องการหยุดติดตามไฟล์ให้ใช้ไฟล์git rm --cached <filename>.
แต่ตามที่คนอื่น ๆ ระบุไว้ที่นี่การเพิ่มไฟล์ลงใน. gitignore อาจป้องกันไม่ให้คุณเพิ่มอีกครั้งในภายหลังโดยไม่ได้ตั้งใจ
เพิ่มไฟล์ gitignore
.gitignoreรายการใช้ไม่ได้กับไฟล์ที่กำลังติดตามอยู่
git rm --cached <file>แล้วจึงจะนำออกนี้