2011-10-21 37 views

Trả lời

11

Bạn có thể thêm .gitignore đến file .gitignore của bạn, nhưng có thể bạn chỉ muốn cam kết nó anyway xem xét tất cả các thành viên trong nhóm của bạn (nếu có bất kỳ người khác) có lẽ sẽ để có cùng một tệp được liệt kê trong .gitignore.

+1

Đồng ý, bạn nên thêm tệp .gitignore để mọi người chia sẻ tệp. –

+1

Hãy rõ ràng: bạn * có thể * thêm nó vào .gitignore, nhưng bạn không nên. Bạn * nên * cam kết nó. (Không chỉ "có thể".) – Cascabel

+0

@Jefromi - Tại sao nên cam kết? Nếu nên, sau đó mỗi repo git sẽ đi kèm với một .gitignore kiểm tra in – manojlds

2

Chỉ cần cam kết tệp.
Sau đó, nó sẽ biến mất khỏi danh sách.
(Ban đầu tôi thấy khó hiểu này).
Bạn vẫn có thể chỉnh sửa để thêm các mục khác trong tương lai.
Và sau đó cam kết lại để bỏ qua chúng

2

.gitignore phải là một phần của mã của bạn. Bạn chắc chắn không muốn loại trừ vì đó là cách để nói với đồng đội của bạn (hoặc bản thân bạn trong một máy tính khác) mà các tệp không được cam kết

5

Để làm rõ một chút về những gì người khác đã nói, có ba loại nội dung bị loại trừ và git sử dụng các tệp loại trừ khác nhau cho từng danh mục:

  1. Nội dung mà mọi người làm việc trong dự án muốn loại trừ — ví dụ: *.o, tên của tệp thi hành được tạo, các tệp được tạo khác mà bạn không muốn đăng ký.

    Trong trường hợp này, bạn sử dụng .gitignore trong thư mục dự án (như bạn đang làm). Vì bạn muốn mọi người làm việc trong dự án chia sẻ các loại trừ này, bạn nên thêm các tệp .gitignore này bằng cách sử dụng git add và cam kết chúng như tệp nguồn.

  2. Nội dung bạn đích thân muốn loại trừ cho tất cả các dự án của bạn, nhưng những nội dung khác hoạt động trên cùng một dự án có thể không. Ví dụ, tôi sử dụng trình soạn thảo Emacs, tạo tệp sao lưu như Foo.~1~, vì vậy đó là điều tôi loại trừ cá nhân cho tất cả các kiểm tra git của tôi

    Trong trường hợp này, bạn sử dụng tệp bỏ qua "cá nhân", thông thường trong thư mục chính của bạn được gọi là một cái gì đó như ~/.gitignore; tên của tập tin này là thực sự thiết lập như là một tham số git toàn cầu, vì vậy ví dụ, bạn có thể làm: [. Như đó là một môi trường toàn cầu, bạn chỉ cần làm điều đó một lần]

    git config --global core.excludesfile ~/.gitignore 
    

    Vì vậy, cho các tệp sao lưu Emacs của tôi, tôi thêm một mẫu như *~ đến ~/.gitignore.

  3. Nội dung bạn muốn loại trừ "cục bộ" trong một cây làm việc cụ thể, nhưng có thể không phải cho các cây khác.

    Trong trường hợp này, bạn nên thêm mục nhập loại trừ vào tệp .git/info/exclude. Vì tệp này nằm bên dưới thư mục ma thuật .git, lệnh trạng thái sẽ không bao giờ hiển thị tệp đó dưới dạng tệp không được theo dõi (và bạn không thể thêm tệp đó).

Git sử dụng tất cả các tệp loại trừ này cùng nhau để quyết định loại trừ những gì.

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