Nghĩ rằng tôi sẽ chip trong về vấn đề này. Có một lý do khác khiến tệp bỏ qua toàn cầu dường như không hoạt động. Đó là điều mà tôi không nghĩ đã được đề cập trong các câu trả lời trước đó. Thật rõ ràng là - tất nhiên là - rất dễ bỏ lỡ.
Đó là, git sẽ chỉ bỏ qua tệp mới. Nếu tập tin đã được theo dõi bởi git, thì dĩ nhiên git sẽ không bỏ qua nó! Vì vậy, bất kỳ mẫu nào trong bất kỳ tệp gitignore
hoặc exclude
nào không áp dụng.
Điều đó có ý nghĩa. Tại sao git muốn bỏ qua các sửa đổi đối với các tệp mà nó đã theo dõi?Nếu tệp bị bỏ qua, trước tiên bạn phải yêu cầu git không theo dõi nó, sau đó git bỏ qua nó như được mô tả trong sách hướng dẫn. Để biết thông tin về cách hủy các tệp, see this answer.
Tất cả điều này dẫn tôi hỏi, liệu có thể bỏ qua các thay đổi đối với tệp được theo dõi không? Một lần nữa, git mang lại. Câu trả lời này; Git: Ignore tracked files cho chúng ta lệnh:
git update-index --assume-unchanged file
Cuối cùng, đây là một số thông tin bổ sung về gỡ lỗi git bỏ qua.
Các gitignore(5) Manual Page cho chúng ta biết:
Patterns mà người dùng muốn Git để bỏ qua trong mọi tình huống (ví dụ, sao lưu hoặc các tập tin tạm thời được tạo ra bởi trình biên tập của người sử dụng lựa chọn) thường đi vào một file đặc tả của lõi. excludeesfile trong ~/.gitconfig của người dùng. Giá trị mặc định của nó là $ XDG_CONFIG_HOME/git/ignore. Nếu $ XDG_CONFIG_HOME không được đặt hoặc rỗng, $ HOME/.config/git/ignore được sử dụng thay thế.
Vì vậy, tính năng này mới và thay thế ~/.gitignore_global
trước đây đã đề cập trước đó.
Tiếp theo, và điều này thực sự hữu ích, đó là 1.8.2, bây giờ chúng tôi có một số công cụ gỡ lỗi tuyệt vời. Có một cái nhìn tại địa chỉ:
Git Learns to Ignore Better - New in 1.8.2
Điều này cho thấy làm thế nào để sử dụng check-ignore
cờ mới để xác minh git được bỏ qua thành công mô hình của bạn, ví dụ
git check-ignore bin/a.dll --verbose
@Jarrod '~/.gitignore_global' là ý nghĩa của OP và chỉ là lỗi đánh máy, mặc dù anh ấy đã chấp nhận câu trả lời của tôi, để chỉnh sửa của bạn không phải là goo d – CharlesB