2011-10-30 26 views
16

Tôi cố gắng bỏ qua tệp trong một thư mục theo đường dẫn tương đối. Ví dụ. Tôi có một số thư mục trong cây đang hoạt động lib/file.f và tôi muốn tất cả các lần xuất hiện của tệp này bị bỏ qua. Tôi đã thửgit bỏ qua nhiều tệp phù hợp

lib/file.f 

nhưng điều này không hiệu quả.

Trả lời

21

Nơi

*/lib/file.f 

trong .gitignore của bạn. Điều này sẽ khiến git bỏ qua bất kỳ tệp nào có dạng project/<DIR>/lib/file.f, giả sử .gitignore nằm trong thư mục project. Để làm git bỏ qua lib/file.f hai thư mục xuống, bạn cũng sẽ phải thêm

*/*/lib/file.f 

đến .gitignore, và vân vân.

triệt đơn giản hơn tất nhiên, sẽ được đặt

*file.f 

trong .gitignore để chặn tất cả các tập tin có tên file.f, nhưng câu hỏi của bạn dường như cho thấy có ít nhất một tập tin có tên mà bạn muốn không bỏ qua.

+2

tôi thấy 'file.f' không hoạt động. '* file.f' hiện, tuy nhiên. – Holf

+0

@Holf Tệp 'file.f' không hoạt động, vì bạn tham chiếu đến tệp, không có đường dẫn (và bạn có thể không có' tệp.f' trong thư mục gốc của dự án). Đó là lý do tại sao câu trả lời của _unutbu_ có tất cả các ví dụ với đường dẫn đầy đủ. '* File.f' hoạt động, bởi vì bạn đã sử dụng ký tự đại diện' * 'và do đó nó sẽ bỏ qua _any file_, khớp với mẫu của bạn - thực sự là cái gì bạn muốn đạt được? – trejder

5

cũng bạn có thể muốn loại bỏ các tập tin từ git cache, để kiểm tra những gì bạn vừa bỏ qua:

git rm --cached lib/file.f 

này là nếu bạn đã thêm các tập tin vào git index

0

Nếu bạn muốn để chỉ định tất cả các thư mục con trong sử dụng thư mục cụ thể /**/. Để bỏ qua tất cả file.f tập tin trong một thư mục /src/main/ và các thư mục con sử dụng:

/src/main/**/file.f 
Các vấn đề liên quan