2012-10-02 35 views
14

Tôi có cấu trúc thư mục sau:.gitignore: Làm cách nào để bỏ qua các thư mục lồng nhau?

test/a 
test/b/c 
test/a/b/Ouput 
test/c/d/e/Output 
test/f/Output 

Tôi muốn bỏ qua tất cả các "Output" thư mục dưới "thử nghiệm". Tôi đã thử test/**/Output, nhưng nó không hoạt động. Tôi đang làm gì sai?

+0

Ah, tôi hiểu. Cảm ơn bạn đã làm rõ. – artagnon

+0

@hammar, kể từ v1.8.2 (tháng 3, 8 năm 2013), git chấp nhận ** trong các tệp .gitignore –

Trả lời

13

Bạn nói rằng bạn muốn mô hình Output/ để phù hợp với chỉ dưới thư mục test/, vì vậy trong thư mục test/, tạo một tệp .gitignore với các nội dung:

Output/ 

Nếu bạn đặt mô hình này ở cấp cao nhất của bạn .gitignore tệp, sau đó nó sẽ khớp trong tất cả thư mục trong thư mục trên cùng.

+0

Điều gì sẽ xảy ra nếu tôi muốn làm điều đó trong '.gitignore' toplevel của tôi? – artagnon

+0

@RamkumarRamachandra: Tại sao bạn không muốn nó trong 'test/.gitignore' của bạn? Bạn đã nói rằng bạn chỉ muốn mẫu 'Output' khớp với dưới thư mục' test', vì vậy đây là nơi mẫu tự nhiên thuộc về. –

+0

Xem xét 'Output /' thay vì 'Output'. Câu hỏi yêu cầu bỏ qua các thư mục có tên là 'Output'. –

5

Kể từ phiên bản 1.8.2 (tháng, 8 2013), git hỗ trợ ** trong .gitignore file, vì vậy sử dụng test/**/Output/ sẽ bỏ qua chỉ ra thư mục con trong thư mục kiểm tra.

Các vấn đề liên quan