ในรากของโครงการของฉันฉันมี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จะเพิ่มไฟล์แม้ว่าจะเป็นไฟล์ที่คุณไม่สนใจก็ตาม