คุณจะแสดงไฟล์ที่ไม่ได้ติดตามซึ่งไม่มีอยู่ใน. gitignore ได้อย่างไร


167

ฉันใช้git status -uเพื่อแสดงไฟล์ที่ไม่ได้ติดตาม และที่เทอร์มินัลฉันเห็นไฟล์ที่ไม่ได้ติดตามมากมายที่ฉันต้องทำการยกเลิกการติดตามเช่นการทดสอบหน่วยเอกสารส่วนตัว ฯลฯ ที่ฉันใส่ไว้.gitignoreแต่ดูเหมือนว่าgit statusยังคงแสดงไฟล์เหล่านั้นอยู่

.gitignoreคุณจะทำอย่างไรแสดงเฉพาะไฟล์ที่ไม่ได้ติดตามที่ไม่ได้อยู่ใน


11
หากไฟล์ที่ไม่ได้ติดตามถูกแสดงในสถานะ git ไฟล์นั้นจะไม่ถูกละเว้นโดย. gitignore อย่างถูกต้อง คุณสามารถแสดงโครงสร้างไดเรกทอรีการทำงานและเนื้อหา. gignignore ได้หรือไม่?
สูงสุด

7
เห็นด้วยกับ @max มันควรจะทำงานได้ นี่คือการคาดเดาที่ดุร้าย: หากคุณใช้ Windows โปรดระวังว่า. gitignore ซึ่งแตกต่างจาก Windows นั้นเป็นแบบตรงตามตัวพิมพ์ใหญ่ - เล็ก ดังนั้นหากคุณเพิกเฉย * .txt และมี Test.TXT บนดิสก์มันจะไม่ถูกเพิกเฉย
Joe White

คำตอบ:


269

คุณสามารถระบุสิ่งที่ถูกติดตามและไม่ได้ติดตามดังนี้เพื่อดูว่า Git เห็นและให้เกียรติคุณหรือ.gitignoreไม่ หากคุณโพสต์.gitignoreเนื้อหาgit statusผลผลิตและdirหรือlsเราสามารถช่วยเหลือคุณได้ดีขึ้น

รายการไฟล์ที่ถูกละเว้น

$ git ls-files . --ignored --exclude-standard --others

แสดงรายการไฟล์ที่ไม่ได้ติดตาม

$ git ls-files . --exclude-standard --others

3
หากคุณเห็นไฟล์ที่คุณไม่คิดว่าอยู่ใน. gitignore ของคุณอาจมีอีกไฟล์หนึ่งซ่อนตัวอยู่ในโครงการของคุณ ค้นหามันออกมาพร้อมกับ `ค้นหา - ชื่อ. gitignore`
jpadvo

@ matthew-mccullough คำตอบยอดเยี่ยม! ฉันจะเพิ่มชื่อแทนสำหรับขอบคุณเหล่านี้! @jpadvo คุณสามารถยกตัวอย่างfindวิธีการใช้งานได้หรือไม่?
lacostenycoder

หากคุณต้องการรายการสั้น ๆ สมมติว่าคุณเพิกเฉย node_modules และไม่ต้องการเห็นต้นไม้ทั้งหมดเพิ่ม--directoryเฉพาะโฟลเดอร์ระดับบนสุดที่ถูกละเว้นเท่านั้นที่จะถูกพิมพ์ (นี่จะเข้าใกล้สถานะ git)
Henry Blyth

2
หากต้องการทำให้ชัดเจนให้git ls-files --others --exclude-standard --ignoredแสดงรายการไฟล์ที่git ls-files --others --exclude-standardไม่ได้ติดตามที่ไม่ได้ติดตามและไฟล์ที่ไม่ได้ติดตามไม่ได้ติดตาม เพิ่มเติมเกี่ยวกับมันนี่
x-yuri

1
โปรดทราบว่าตามค่าเริ่มต้นgit ls-files --othersจะไม่มีรายการไดเรกทอรีว่าง ในการแสดงรายการไดเรกทอรีว่างเพิ่ม--directoryตัวเลือก สิ่งนี้ไม่ชัดเจนจาก man page แต่สามารถอนุมานได้ --directory: หากไดเรกทอรีทั้งหมดถูกจัดประเภทเป็น "อื่น ๆ " ให้แสดงเฉพาะชื่อ (ที่มีเครื่องหมายสแลชต่อท้าย) และไม่ใช่เนื้อหาทั้งหมด . --no-empty-directory: อย่าแสดงรายการไดเรกทอรีว่าง ไม่มีผลหากไม่มี - ไดเรกทอรี
catanman


-6

ใช้:

git config status.showuntrackedfiles no 

ในเวอร์ชันรีลีสปัจจุบันของ git ฉันได้รับerror: Invalid untracked files mode 'yes'เมื่อฉันพยายามใช้
Mike

1
ค่าที่เป็นไปได้no, ,normal allมีการอธิบายไว้ที่นี่: git-scm.com/docs/git-config
Muhammad Gelbana

4
นี่ไม่ได้ตอบคำถาม
lacostenycoder
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.