Tôi đã thấy các câu hỏi tương tự ( 1 , 2 và 3 ), nhưng tôi không nhận được giải pháp thích hợp từ chúng.
Tôi cần bỏ qua tất cả các tệp trong một thư mục cụ thể ngoại trừ một loại tệp cụ thể. Thư mục là một thư mục con cho đường dẫn gốc. Hãy để tôi đặt tên cho thư mục Resources. Vì tôi không muốn làm phức tạp mọi thứ, hãy để tôi bỏ qua các tệp trong tất cả các thư mục được đặt tên cho Resourcesdù nó ở đâu.
Đây là giải pháp phổ biến nhất (trong tất cả các câu hỏi trùng lặp)
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore
!.gitignore
# Now exclude our type
!*.foo
Vấn đề với giải pháp này là nó ngừng theo dõi các tệp mới được thêm vào (vì *bỏ qua tất cả các tệp). Tôi không muốn tiếp tục loại trừ từng loại tệp. Tôi muốn hành vi bình thường nếu bất kỳ tệp mới nào được thêm vào, hãy git statushiển thị nó.
Cuối cùng tôi đã có một giải pháp ở đây . Giải pháp là thêm một .gitignoretệp khác trong Resourcesthư mục. Điều này hoạt động chính xác.
Tôi có thể đạt được điều tương tự với một tệp bỏ qua không? Tôi thấy có nhiều tệp bỏ qua trong các thư mục khác nhau hơi rắc rối.
Đây là những gì tôi đang cố gắng đạt được:
# Ignore everything under Resources folder, not elsewhere
Resources
# Don't ignore directories, so we can recurse into them
!*Resources/
# Now exclude our type
!*.foo
Nhưng điều này cho kết quả ngược lại. Nó bỏ qua *.foocác loại và theo dõi các tệp khác.
DirectoryName1/** DirectoryName1/**/*cho từng thư mục trong số chúng. Firs xóa thư mục nhưng bạn cần thứ hai để xóa tất cả các loại tệp.