หมายเหตุ:
ที่น่าสนใจ (ที่กล่าวถึงในคำตอบของqwertymk ) คุณสามารถใช้คำสั่งอย่างน้อยใน Unix ( ไม่สามารถใช้งานได้ในเซสชันCMD Windows )git check-ignore -v
git check-ignore *
git check-ignore -v *
อันที่สองแสดงกฎที่แท้จริง.gitignore
ซึ่งทำให้ไฟล์ถูกละเว้นใน repo git ของคุณ
บน Unix การใช้ " สิ่งที่จะขยายไปยังไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันซ้ำ? " และ bash4 +:
git check-ignore **/*
(หรือfind -exec
คำสั่ง)
หมายเหตุ: https://stackoverflow.com/users/351947/Rafi B.แนะนำในการแสดงความคิดเห็นเพื่อหลีกเลี่ยงลูกโลก (ความเสี่ยง) :
git check-ignore -v $(find . -type f -print)
ตรวจสอบให้แน่ใจว่าได้แยกไฟล์ออกจาก.git/
โฟลเดอร์ย่อยแล้ว
คำตอบเดิม 42009)
git ls-files -i
ควรทำงานยกเว้นรหัสแหล่งที่มาของมันบ่งชี้:
if (show_ignored && !exc_given) {
fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
argv[0]);
exc_given
?
ปรากฎว่ามันจำเป็นต้องมีพารามิเตอร์อีกหนึ่งหลังจากที่-i
รายการจริงอะไร:
ลอง:
git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore
(แต่นั่นจะแสดงรายการวัตถุที่แคช (ไม่เพิกเฉย) พร้อมตัวกรองดังนั้นจึงไม่ใช่สิ่งที่คุณต้องการ)
ตัวอย่าง:
$ cat .git/ignore
# ignore objects and archives, anywhere in the tree.
*.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git ls-files --ignored \
--exclude='Documentation/*.[0-9]' \
--exclude-from=.git/ignore \
--exclude-per-directory=.gitignore
ที่จริงแล้วในไฟล์ 'gitignore' ของฉัน (เรียกว่า 'แยก') ฉันพบบรรทัดคำสั่งที่สามารถช่วยคุณได้:
F:\prog\git\test\.git\info>type exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
ดังนั้น....
git ls-files --others --ignored --exclude-from=.git/info/exclude
git ls-files -o -i --exclude-from=.git/info/exclude
git ls-files --others --ignored --exclude-standard
git ls-files -o -i --exclude-standard
ควรทำเคล็ดลับ
ดังที่ได้กล่าวไว้ในหน้า man ของ ls-filesซึ่ง--others
เป็นส่วนสำคัญในการแสดงไฟล์ที่ไม่ได้แคช, ไม่ได้ถูกคอมมิตและไม่สนใจ
--exclude_standard
ไม่ได้เป็นเพียงทางลัด แต่เป็นวิธีการรวมการตั้งค่า "รูปแบบที่ละเว้น" มาตรฐานทั้งหมด
exclude-standard
เพิ่มการยกเว้นคอมไพล์มาตรฐาน.git/info/exclude
, ในแต่ละไดเรกทอรีและ.gitignore
user's global exclusion file