Tôi nghĩ rằng tôi sẽ sửa chữa điều này. Có một lý do khác khiến tệp bỏ qua chung dường như không hoạt động. Đó là điều mà tôi không nghĩ rằng đã được đề cập trong các câu trả lời trước đó. Rõ ràng là - tất nhiên - rất dễ bỏ sót.
Đó là, git sẽ chỉ bỏ qua các tệp mới . Nếu tập tin đã được theo dõi bởi git, thì tất nhiên git sẽ không bỏ qua nó! Vì vậy, bất kỳ mẫu nào trong bất kỳ gitignore
hoặc exclude
tệp nào không áp dụng .
Điều đó có lý. 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 bỏ theo dõi tệp, hãy xem câu trả lời này .
Tất cả những điều này khiến tôi phải hỏi, liệu có thể bỏ qua các thay đổi đối với các tệp được theo dõi không? Một lần nữa, git cung cấp. Câu trả lời này; Git: Bỏ qua các tệp được theo dõi cung cấp cho chúng tôi lệnh (thay thế file
bằng tệp bạn muốn bỏ qua):
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) Hướng dẫn sử dụng trang cho chúng ta biết:
Các mẫu mà người dùng muốn Git bỏ qua trong mọi trường hợp (ví dụ: tệp sao lưu hoặc tệp tạm thời được tạo bởi trình soạn thảo của người dùng lựa chọn) thường đi vào tệp được chỉ định bởi core.excludesfile 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 trống, thì $ HOME / .config / git / ignore được sử dụng thay thế.
Vì vậy, điều này là mới và thay thế trước đó ~/.gitignore_global
đã đề cập trước đó.
Tiếp theo, và điều này thực sự hữu ích, đó là kể từ 1.8.2, chúng tôi hiện có một số công cụ gỡ lỗi tuyệt vời. Hãy xem:
Git học cách bỏ qua tốt hơn - Mới trong 1.8.2
Điều này cho thấy cách sử dụng check-ignore
cờ mới để xác minh rằng git đang bỏ qua thành công các mẫu của bạn, ví dụ:
git check-ignore bin/a.dll --verbose