2011-04-21 49 views
12

Tôi muốn tạo kho lưu trữ cho dự án Magento của mình. Có rất nhiều thư mục và tệp trong thư mục gốc và tôi thay đổi thời gian chỉ một thư mục: app/code/local/Không thể hiểu cách gitignore bỏ qua các thư mục

Mọi thứ khác tôi muốn bỏ qua. Nhưng .. không thể. tập tin .gitignore tôi:

* 
!app/code/local/ 
!app/code/local/* 

Sau đó, khi tôi cố gắng thêm thư mục để repo tôi nhận được một lỗi:

git add app/code/local/Mds/ 

The following paths are ignored by one of your .gitignore files: 
app 
Use -f if you really want to add them. 
fatal: no files added 

bất cứ ai có thể vui lòng giúp đỡ với điều này?

Trả lời

17

Hãy thử dưới đây để bỏ qua như bạn cần:

/* 
!/app/ 
/app/* 
!/app/code/ 
/app/code/* 
!/app/code/local/ 

Các cuộc thảo luận sau đây là hữu ích: http://git.661346.n2.nabble.com/negated-list-in-gitignore-no-fun-td1675067.html, đặc biệt là sau từ Linus:

That's by design. You've chosen to ignore those directories; they match "*" themselves. Thus, 'git add .' doesn't descend into them looking for files.

Về cơ bản, đối với mỗi cấp y Bạn phải vào, bỏ qua thư mục đó và bỏ qua các nội dung bên trong thư mục đó.

+0

Tôi cũng không làm việc .. – user718085

+0

Tôi đã chỉnh sửa câu trả lời của mình.Tôi đã xác minh nó – manojlds

+0

Tôi không thể tin rằng tôi không làm việc. thư mục mới trong ứng dụng/mã/địa phương nhưng lỗi là như nhau ... – user718085

0

Đây có phải là .gitignore trong thư mục gốc của kho lưu trữ không?

Hãy thử điều này:

/* 
!/app/code/local 
+0

Xin lỗi nó đã không giúp = (The .gitignore nằm trong thư mục gốc. – user718085

0

Theo the documentation:

"It is not possible to re-include a file if a parent directory of that file is excluded."

Ví dụ, nếu bạn đã được làm việc với các kho lưu trữ và bảo Git để bỏ qua các thư mục cha, thực hiện một số cam kết, và sau đó quay trở lại và cố gắng để cho phép một số phụ -directory của thư mục bị loại trừ, nó sẽ không bao gồm thư mục con đó ngay cả khi tệp .gitignore của bạn là chính xác. Để giải quyết vấn đề này, bạn cần buộc thêm (với cờ -f):

git add -f {file} 

Khi việc này được thực hiện, các thay đổi tiếp theo sẽ được theo dõi.

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