Có cách nào để xem tại sao một số tệp bị bỏ qua bởi git (tức là quy tắc nào trong .gitignoretệp đang khiến tệp bị bỏ qua) không?
Hãy tưởng tượng tôi có điều này (hoặc một kịch bản phức tạp hơn nhiều, với hàng trăm thư mục và hàng chục .gitignoretệp:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Nếu tôi chạy git add folder/subfolder/file.txtgit có thể phàn nàn về việc nó bị bỏ qua:
The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -f if you really want to add them.
Có cách nào để biết .gitignorequy tắc nào trong số tất cả có thể có để bỏ qua tệp này và cũng hiển thị quy tắc không? Giống:
The following paths are ignored by your folder/.gitignore file (line 12: *.txt)
folder/subfolder/file.txt
Use -f if you really want to add them.
Hoặc chỉ:
$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
GIT_TRACE_EXCLUDE=1 git statussẽ sớm là một cách bổ sung để gỡ lỗi .gitignorecác quy tắc. Xem câu trả lời được chỉnh sửa của tôi dưới đây
git check-ignoresẽ sớm (git1.8.5 / 1.9) có--no-indextùy chọn. Xem câu trả lời của tôi dưới đây