ในรากของโครงการของฉันฉันมีfoo
โฟลเดอร์ ข้างในfoo
โฟลเดอร์ฉันมีbar
โฟลเดอร์ ฉันต้องการเพิกเฉยต่อการเปลี่ยนแปลงทั้งหมดของไฟล์ทั้งหมดในbar
โฟลเดอร์ของฉัน ฉันมีสิ่งนี้ในgitignore
:
/foo/bar
มีการตรวจสอบโฟลเดอร์: มีอยู่และมีไฟล์ที่จะถูกละเว้น gitignore
ถูกเทcommit
ด อย่างไรก็ตามฉันมีไฟล์ที่สร้างการเปลี่ยนแปลงและอยู่ในbar
โฟลเดอร์ของฉัน เมื่อฉันพิมพ์
git status
ข้างในgit bash
ฉันเห็นไฟล์ที่ควรถูกเพิกเฉย อาจมีสาเหตุอะไรบ้างและฉันจะเพิกเฉยต่อไฟล์ทั้งหมดในโฟลเดอร์บาร์ได้อย่างไร?
โปรดทราบว่าก่อนหน้านี้ไฟล์ถูกละเว้นด้วยบรรทัดเดียวกัน แต่ฉันต้องลบบรรทัดนั้นไปยังcommit
บางสิ่งบนเซิร์ฟเวอร์ชั่วคราว หลังจากที่ผมใส่สายกลับเข้าไปในcommit
gitignore
นี่เป็นเมื่อไม่นานมานี้ แต่ตอนนี้ฉันได้สังเกตุว่าไฟล์จะอยู่ในgit status
นั้น git status
ผมจะคาดหวังที่จะสามารถแก้ไขไฟล์ละเว้นโดยไม่ต้องพวกเขาที่ปรากฏใน
git status foo/bar/file-that-should-be-ignored
ให้
git log foo/bar/file-that-should-be-ignored
คุณสามารถดูประวัติการด้วย หากไม่ควรเป็นส่วนหนึ่งของที่เก็บคุณควรลบออกด้วยgit rm --cached foo/bar/file-that-should-be-ignored
แล้วทำตามคำแนะนำของ Reck ด้านล่าง (แม้ว่าฉันจะทำมันบนไฟล์ไม่ใช่โฟลเดอร์ทั้งหมด) นี่จะ (ก) ลบไฟล์ออกจาก Git, (b) เก็บไฟล์ไว้ในสำเนาในเครื่องของคุณและ (c) ทำให้ไฟล์นั้นถูกลบเมื่อผู้อื่นfetch
หรือคอมมิทpull
ใหม่
git add -f ignored-file
จะเพิ่มไฟล์แม้ว่าจะเป็นไฟล์ที่คุณไม่สนใจก็ตาม