2013-01-12 17 views
6

tôi đã cố gắng tập .gitignore này:Git: đừng bỏ qua một -directory- với một dấu chấm trong nó

* 
!mydirectory.ext 
!.gitignore 

Nhưng nó không làm việc, tất cả mọi thứ ngoại trừ gitignore được bỏ qua.

Cũng thử:

!\mydirectory\.ext 

Thư mục cần một phần mở rộng bởi vì nó là một plugin cho một ứng dụng.

Bất kỳ giải pháp nào?

+0

Vì vậy, bạn thực sự muốn bỏ qua _everything_ ngoại trừ thư mục đó? – fge

Trả lời

2

Những loại danh sách trắng không phải là dễ dàng nhất có thể trong git.

Khi bạn bỏ qua một git thư mục sẽ không nhìn bên trong của nó và do đó sẽ không kiểm tra ngoại lệ bên trong thư mục này.

Cách duy nhất để đi xung quanh đây là với bao gồm dài/thác, đó là thực sự xấu xí loại trừ.

Cách tốt nhất là để suy nghĩ lại về vấn đề của bạn và cố gắng giải quyết nó mà không ngoại lệ chung như vậy, ví dụ bằng cách bỏ qua một cách rõ ràng tất cả mọi thứ bạn có chắc bạn không muốn.

7

ref

* 
!/mydirectory.ext/ 
!/mydirectory.ext/* 
!/mydirectory/.ext/ 
!/mydirectory/.ext/* 
!.gitignore 

hoặc

* 
# ignore all 
!/.*/ 
# but not directories which names starting with a dot 
!/.*/* 
# and all its contents 
/.*/*/ 
# but ignore other directories (which names not starting with a dot) 
# which results also not tracking its files underneath 
!/.*/.*/ 
# but not to subdirectories (which names starts with a dot) 
!/.*/.*/* 
# and its contents 


!/*.*/ 
# don't ignore directories which names has a dot in it 
!/*.*/* 
# and its contents 
# extend it like with /.*/ 
!.gitignore 

và vân vân

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