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 Resources
dù 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 status
hiể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 .gitignore
tệp khác trong Resources
thư 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 *.foo
cá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.