2014-04-07 14 views

Trả lời

62

Lợi thế của .gitignore là nó có thể được kiểm tra vào chính kho, không giống như .git/info/exclude. Một ưu điểm khác là bạn có thể có nhiều tệp .gitignore, một tệp bên trong mỗi thư mục/thư mục con cho các quy tắc bỏ qua thư mục cụ thể, không giống như .git/info/exclude.

Vì vậy, .gitignore khả dụng trên tất cả các bản sao của kho lưu trữ. Do đó, trong các nhóm lớn, tất cả mọi người đều bỏ qua cùng một loại tệp Ví dụ *.db, *.log. Và bạn có thể có các quy tắc bỏ qua cụ thể hơn vì nhiều số .gitignore.

.git/info/exclude chỉ khả dụng cho các bản sao riêng lẻ, do đó những gì một người bỏ qua trong bản sao của anh ấy không khả dụng trong bản sao của một số người khác. Ví dụ: nếu ai đó sử dụng Eclipse để phát triển, nhà phát triển có thể thêm .build thư mục vào .git/info/exclude vì các nhà phát triển khác có thể không sử dụng Eclipse.

Nói chung, các file/bỏ qua quy tắc phải được bỏ qua phổ biến nên đi trong .gitignore, và nếu không tập tin mà bạn muốn chỉ bỏ qua trên bản sao địa phương của bạn nên đi vào .git/info/exclude

9

google: 3 ways of excluding files

  • .gitignore được áp dụng cho tất cả các bản sao của repo (nó đến cùng như một tập tin phiên bản),
  • .git/info/exclude chỉ áp dụng cho bản sao cục bộ của kho.
+2

Yup, tôi cũng đọc điều đó, nhưng muốn có được góc nhìn thực tế hơn (thực tế) :-) – Parag

+0

Blog được liên kết nhầm lẫn gọi tệp '.git/info/excludees', khi nó phải là' .git/thông tin/loại trừ', như được xác nhận bởi tài liệu mà nó liên kết đến. – mwfearnley

+0

@mwfearnley: thực sự. đã sửa. Cảm ơn bạn đã chỉ ra điều đó. – LeGEC

4

Chỉ cần cung cấp (thế giới thực của chúng tôi) kinh nghiệm: chúng tôi bắt đầu sử dụng .git/info/exclude khi chúng tôi phải tùy chỉnh một số tệp cấu hình trên mỗi môi trường phát triển nhưng vẫn muốn nguồn được duy trì trong repo và có sẵn cho các nhà phát triển khác. Bằng cách này, các tập tin cục bộ, một khi nhân bản và sửa đổi có thể được loại trừ khỏi các cam kết mà không ảnh hưởng đến các tập tin gốc trong repo nhưng không nhất thiết phải bị bỏ qua trong repo một trong hai.

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