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 .gitignore
tệ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 .gitignore
tệp:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Nếu tôi chạy git add folder/subfolder/file.txt
git 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 .gitignore
quy 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 status
sẽ sớm là một cách bổ sung để gỡ lỗi .gitignore
các quy tắc. Xem câu trả lời được chỉnh sửa của tôi dưới đây
git check-ignore
sẽ sớm (git1.8.5 / 1.9) có--no-index
tùy chọn. Xem câu trả lời của tôi dưới đây