Android

Bỏ qua các tệp và thư mục trong git (.gitignore)

Từ gà tới pro Git và Github trong 20 phút - Tự học Git siêu tốc

Từ gà tới pro Git và Github trong 20 phút - Tự học Git siêu tốc

Mục lục:

Anonim

Thông thường, khi làm việc trên một dự án sử dụng Git, bạn sẽ muốn loại trừ các tệp hoặc thư mục cụ thể khỏi bị đẩy vào kho lưu trữ từ xa.

Tệp .gitignore chỉ định những tệp không được theo dõi mà Git nên bỏ qua.

Những tập tin nào nên được bỏ qua?

Các tệp bị bỏ qua thường là các tệp dành riêng cho nền tảng hoặc các tệp được tạo tự động từ các hệ thống xây dựng. Một số ví dụ phổ biến bao gồm:

  • Các tệp thời gian chạy như nhật ký, khóa, bộ đệm hoặc tệp tạm thời. Các tệp có thông tin nhạy cảm, chẳng hạn như mật khẩu hoặc khóa API. Mã được biên dịch, chẳng hạn như các thư mục. Class hoặc .o .Dependency, chẳng hạn như /vendor hoặc, chẳng hạn như các tệp /public , /out hoặc /dist .System như .DS_Store hoặc Thumbs.db IDE hoặc các tệp cấu hình trình soạn thảo văn bản.

.gitignore

Tệp .gitignore cục bộ thường được đặt trong thư mục gốc của kho lưu trữ. Tuy nhiên, bạn có thể tạo nhiều tệp .gitignore trong các thư mục con khác nhau trong kho lưu trữ của mình. Các mẫu trong tệp .gitignore được khớp với thư mục chứa tệp.

Các mẫu được xác định trong các tệp nằm trong các thư mục cấp thấp hơn (thư mục con) được ưu tiên hơn các mẫu trong các thư mục cấp cao hơn.

Các tệp .gitignore cục bộ được chia sẻ với các nhà phát triển khác và phải chứa các mẫu hữu ích cho tất cả người dùng khác của kho lưu trữ.

Quy tắc bỏ qua cá nhân

Các mẫu dành riêng cho kho lưu trữ cục bộ của bạn và không nên được phân phối cho các kho lưu trữ khác, nên được đặt trong tệp .git/info/exclude .

Ví dụ: bạn có thể sử dụng tệp này để bỏ qua các tệp được tạo từ các công cụ dự án cá nhân của bạn.

Toàn cầu

Git cũng cho phép bạn tạo tệp .gitignore toàn cầu, nơi bạn có thể xác định quy tắc bỏ qua cho mọi kho lưu trữ Git trên hệ thống cục bộ của mình.

Các tập tin có thể được đặt tên bất cứ điều gì bạn thích và được lưu trữ ở bất kỳ vị trí. Nơi phổ biến nhất để giữ tập tin này là thư mục chính. Bạn sẽ phải tự tạo tệp và định cấu hình Git để sử dụng tệp.

Ví dụ: để đặt ~/.gitignore_global làm tệp bỏ qua Git toàn cầu, bạn sẽ làm như sau:

  1. Tạo tập tin:

    touch ~/.gitignore_global

    Thêm tệp vào cấu hình Git:

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

    Mở tệp bằng trình soạn thảo văn bản của bạn và thêm quy tắc của bạn vào đó.

Các quy tắc toàn cầu đặc biệt hữu ích để bỏ qua các tệp cụ thể mà bạn không bao giờ muốn cam kết, chẳng hạn như các tệp có thông tin nhạy cảm hoặc các tệp thực thi được biên dịch.

Bỏ qua các tập tin đã cam kết trước đó

Các tập tin trong bản sao làm việc của bạn có thể được theo dõi hoặc không bị theo dõi.

Để bỏ qua một tệp đã được cam kết trước đó, bạn sẽ cần hủy kích hoạt và xóa tệp khỏi chỉ mục, sau đó thêm quy tắc cho tệp trong .gitignore :

git rm --cached filename

Tùy chọn --cached yêu cầu git không xóa tệp khỏi cây làm việc mà chỉ xóa tệp khỏi chỉ mục.

Để xóa đệ quy một thư mục, hãy sử dụng tùy chọn -r :

git rm --cached filename

Khi xóa các tệp một cách đệ quy, hãy sử dụng tùy chọn -n sẽ thực hiện một chương trình chạy khô khô và hiển thị cho bạn những tệp nào sẽ bị xóa:

git rm -r -n directory

Gỡ lỗi tệp .gitignore

Đôi khi có thể khó xác định lý do tại sao một tệp cụ thể bị bỏ qua, đặc biệt là khi bạn đang sử dụng nhiều tệp .gitignore hoặc các mẫu phức tạp. Đây là nơi git check-ignore với tùy chọn -v , thông báo cho git hiển thị chi tiết về mẫu phù hợp, rất tiện lợi.

Ví dụ: để kiểm tra lý do tại sao tệp www/yarn.lock bị bỏ qua, bạn sẽ chạy:

git check-ignore -v www/yarn.lock

Đầu ra hiển thị đường dẫn đến tệp gitignore , số lượng dòng phù hợp và mẫu thực tế.

www/.gitignore:31:/yarn.lock www/yarn.lock

Lệnh cũng chấp nhận nhiều hơn một tên tệp làm đối số và tệp không phải tồn tại trong cây làm việc của bạn.

Hiển thị tất cả các tập tin bị bỏ qua

Lệnh git status với tùy chọn --ignored hiển thị danh sách tất cả các tệp bị bỏ qua:

git status --ignored

Phần kết luận

Tệp .gitignore cho phép bạn loại trừ các tệp khỏi bị kiểm tra vào kho lưu trữ. Tệp này chứa các mẫu hình cầu mô tả các tệp và thư mục nào sẽ bị bỏ qua.

gitignore.io là một dịch vụ trực tuyến cho phép bạn tạo các tệp .gitignore cho hệ điều hành, ngôn ngữ lập trình hoặc IDE của bạn.