Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Thành Thạo .gitignore: Hướng Dẫn Người Mới Loại Trừ File Git

File .gitignore chứa danh sách file Git nên bỏ qua trong dự án cục bộ. File .gitignore thường xuất hiện trong thư mục chính của dự án. Bạn có thể bỏ qua file đơn lẻ, nhiều file hoặc thư mục.

Bạn có thể có file không muốn đưa vào phiên bản chính repository Git. Các file này có thể chứa cấu hình hoặc biến cục bộ riêng tư không nên được cộng tác viên khác thấy.

Đó là nơi file .gitignore xuất hiện. File này cho phép bạn chỉ thị Git bỏ qua file.

Trong hướng dẫn này, chúng ta nói về .gitignore là gì, cách hoạt động, và cách viết file .gitignore riêng. Không nói thêm, hãy bắt đầu!

File .gitignore Là Gì?

File .gitignore liệt kê file Git sẽ bỏ qua. File .gitignore thường xuất hiện trong thư mục gốc dự án. File được Git theo dõi không bị bỏ qua trừ khi bạn xóa chúng khỏi dự án.

Git khi bạn thêm chúng vào commit. Nghĩa là mọi file, bao gồm file cấu hình và mã biên dịch, sẽ thêm vào commit nếu dùng toán tử *. Toán tử này stage tất cả file vào commit.

Thường, nhà phát triển muốn bỏ qua thư mục output, file hệ thống ẩn, và mã biên dịch. Ví dụ, nếu có file .env trong repository, bạn có thể muốn ẩn nó. Vì file .env thường chứa API key bạn không muốn commit vào repository nhiều người truy cập.

Không có lệnh ignore để bỏ qua file. Bạn cần tạo danh sách tất cả file muốn bỏ qua trong file .gitignore.

Cách Viết File .gitignore

Tạo file .gitignore đơn giản. Mở command shell và tạo file text tên .gitignore trong thư mục gốc dự án. Làm bằng lệnh touch:

Chúng ta đã tạo file .gitignore. Không cần thiết lập file với cấu hình. Bước tiếp theo là thêm danh sách file muốn bỏ qua. Các file trở thành untracked files, từ khác miêu tả file bị Git bỏ qua trong repository cục bộ.

Xem file .gitignore sau:

File này bỏ qua hai tài nguyên: tất cả file trong thư mục node_modules và file .env. Chúng ta bỏ qua hai tài nguyên cụ thể trong repository cục bộ: một thư mục và một file.

Đây là thiết lập phổ biến với dự án JavaScript. node_modules chứa bản sao cục bộ tất cả dependency bạn dùng cho dự án. Sẽ không thực tế commit này vào repository khi bạn chỉ cài dependency tự mình. File .env chứa API key. Là thực hành xấu chia sẻ API key trong repository nhiều người truy cập.

Giả sử muốn bỏ qua nhiều file hoặc thư mục. Làm bằng toán tử * wildcard.

Hãy bỏ qua tất cả file .pyc trong repository:

Tất cả file tên khớp mẫu *.pyc bị bỏ qua. Dấu sao là toán tử wildcard.

GitHub tạo bộ sưu tập gitignore tuyệt vời bạn dùng trên trang của họ. Xem bộ sưu tập gitignore của GitHub.

Sử Dụng Nhiều File .gitignore

Bạn dùng nhiều file .gitignore trong cùng repository. Điều này hoạt động vì .gitignore liên quan đến thư mục nơi nó đặt.

Trong ví dụ trước, chúng ta đặt .gitignore trong thư mục gốc dự án. Giả sử muốn bỏ qua tất cả file kết thúc .pyc trong thư mục diff/. Làm bằng tạo file .gitignore trong thư mục diff dùng command line:

Chúng ta thêm quy tắc sau vào file .gitignore:

Khi commit code vào repository, Git bỏ qua bất kỳ file nào trong thư mục diff/ kết thúc .pyc.

Thiết lập này tốt khi chỉ cần quy tắc áp dụng cho thư mục cụ thể trong dự án. Tuy nhiên, nhiều file .gitignore trong một dự án có thể gây nhầm lăn. Một lựa chọn thay thế là cụ thể hơn khi nêu file dự án nên bỏ qua. Nếu cụ thể, bạn giữ tất cả quy tắc trong một file .gitignore. Xem file này:

File .gitignore này ở thư mục gốc dự án Git. Nó chỉ thị Git bỏ qua tất cả file kết thúc .txt trong dự án. Nó cũng chỉ thị Git bỏ qua tất cả file kết thúc .pyc ở thư mục diff/.

Cách Tạo Quy Tắc Git Ignore Toàn Cục

Việc định nghĩa file .gitignore cho mọi dự án tạo ra tốn thời gian. Thêm vào đó, bạn thường thấy hầu hết dự án dùng cùng tập quy tắc .gitignore.

Bạn thiết lập quy tắc git ignore toàn cục tự động đặt quy tắc gitignore cho mọi repository trên hệ thống. File này thường đặt trong thư mục home hệ điều hành, như /home/your_username hoặc /Users/your_username.

Hãy tạo file .gitignore toàn cục:

Lệnh này tạo file .gitignore trống trong thư mục home. Mở file và thêm quy tắc bạn muốn đặt cho tất cả repository Git trên hệ thống.

Thành Thạo .gitignore: Hướng Dẫn Người Mới Loại Trừ File Git

"Career Karma xuất hiện trong cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi tìm thấy bootcamp phù hợp. Hai tháng sau khi tốt nghiệp, tôi tìm được công việc mơ ước phù hợp với giá trị và mục tiêu cuộc sống!"

Venus, Kỹ sư phần mềm tại Rockbot

Tìm Bootcamp Của Bạn

Sau khi cấu hình file gitignore, bạn thi hành quy tắc dùng thuộc tính core.excludesFile:

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

Lệnh này đặt quy tắc trong file ~/.gitignore áp dụng cho tất cả repository Git trên máy tính.

Cẩn thận khi định nghĩa quy tắc git ignore toàn cục. Vì quy tắc trong .gitignore toàn cục đặt mặc định cho tất cả dự án.

File .gitignore toàn cục tốt dùng cho file phổ biến như .env mà bạn gần như không bao giờ muốn commit vào repository git.

Cách Bỏ Qua File Đã Commit

Bạn không luôn dự đoán file nào muốn bỏ qua trong dự án. Có thể bạn đã commit file vào repository nhưng bây giờ muốn bỏ qua.

Hãy bỏ qua file config.json. File này đã commit vào repository. Chúng ta bắt đầu bằng thêm quy tắc bỏ qua vào file .gitignore:

echo config.json >> .gitignore

Lệnh này thêm config.json vào cuối file .gitignore. Bây giờ phải xóa file khỏi repository. Làm bằng lệnh git rm --cached. Lệnh này chỉ xóa file khỏi repository. Nó vẫn là file cục bộ trên máy.

git rm --cached config.json

Lần tới tạo commit, file config.json sẽ bị bỏ qua.

Cách Commit File Đã Bỏ Qua

Bạn commit file đã bỏ qua trong file .gitignore.

Điều này hữu ích nếu tạo file config mặc định muốn commit vào repository mà ngược lại bị bỏ qua. Bạn commit file bỏ qua dùng cờ -f khi thêm file vào khu vực staging:

git add -f config.json
git commit -m "feat: Create default config file"

Mã này thêm file config.json vào khu vực staging. Sau đó tạo commit dựa trên nội dung staging area. Đọc thêm về git add trong hướng dẫn git add. Đọc về lệnh git commit trong hướng dẫn git commit.

Kết Luận

File .gitignore cho phép bỏ qua file trong repository Git.

Bạn có thể không muốn đưa tất cả file trong bản sao cục bộ dự án vào commit. Ví dụ, bạn không muốn commit mã biên dịch, log hệ thống, hoặc file config. Để bỏ qua file, chỉ định file muốn bỏ qua trong .gitignore.

Dự án có thể chứa nhiều file .gitignore. Bạn ghi đè quy tắc .gitignore dùng cờ -f khi dùng lệnh git add.

Bây giờ bạn sẵn sàng dùng file .gitignore như chuyên gia!