Các tệp .gitignore chứa danh sách các tệp mà Git nên bỏ qua trong một dự án cục bộ. Tệp .gitignore thường xuất hiện trong thư mục chính của dự án. Bạn có thể bỏ qua các tệp đơn lẻ, nhiều tệp hoặc thư mục.
Bạn có thể có các tệp mà bạn không muốn đưa vào phiên bản chính của kho Git. Các tệp này có thể chứa các cấu hình hoặc biến cục bộ riêng tư và các cộng tác viên khác không nên xem.
Đó là nơi xuất hiện tệp .gitignore. Tệp này cho phép bạn hướng dẫn Git bỏ qua các tệp.
Trong hướng dẫn này, chúng ta sẽ nói về .gitignore là gì, nó hoạt động như thế nào và cách bạn có thể viết tệp .gitignore của riêng mình. Không dài dòng nữa, hãy bắt đầu!
Tệp .gitignore là gì?
Tệp .gitignore liệt kê các tệp mà Git sẽ bỏ qua. Các tệp .gitignore thường xuất hiện trong thư mục gốc của dự án. Các tệp được Git theo dõi sẽ 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 một cam kết. Điều này có nghĩa là mọi tệp, bao gồm tệp cấu hình và mã được biên dịch, sẽ được thêm vào một cam kết nếu bạn sử dụng toán tử *. Toán tử này chuyển tất cả các tệp thành một cam kết.
Thông thường, các nhà phát triển muốn bỏ qua các thư mục đầu ra, tệp hệ thống ẩn và mã được biên dịch. Ví dụ:nếu bạn có tệp .env trong kho lưu trữ, bạn có thể muốn ẩn nó. Điều này là do các tệp .env thường chứa các khóa API mà bạn có thể không muốn đưa vào kho lưu trữ.
Không có lệnh bỏ qua nào bạn có thể sử dụng để bỏ qua tập tin. Bạn cần lập danh sách tất cả các file mà bạn muốn bỏ qua trong file .gitignore.
Cách viết tệp .gitignore
Tạo .gitignore tập tin rất đơn giản. Mở shell lệnh và tạo một tệp văn bản có tên .gitignore trong thư mục gốc của một dự án. Bạn có thể thực hiện việc này bằng lệnh cảm ứng:
Chúng tôi đã tạo một tệp .gitignore. Chúng tôi không cần thiết lập tệp của mình với bất kỳ cài đặt cấu hình nào. Bước tiếp theo của chúng tôi là thêm danh sách các tệp mà chúng tôi muốn bỏ qua. Các tệp này trở thành tệp không bị theo dõi, là một từ khác để mô tả tệp bị bỏ qua Git trong kho lưu trữ cục bộ.
Hãy xem xét .gitignore sau tập tin:
Tệp này bỏ qua hai tài nguyên:tất cả các tệp trong thư mục node_modules và tệp .env. Chúng tôi đã bỏ qua hai tài nguyên cụ thể trong kho lưu trữ cục bộ của mình:một thư mục và một tệp.
Đây là cách thiết lập phổ biến với các dự án JavaScript. node_modules chứa bản sao cục bộ của tất cả các phần phụ thuộc bạn đang sử dụng cho một dự án. Sẽ là không thực tế nếu cam kết điều này với một kho lưu trữ khi bạn có thể tự mình cài đặt các phần phụ thuộc này. Tệp .env chứa các khóa API. Việc chia sẻ khóa API trong kho lưu trữ mà nhiều người có quyền truy cập là một hành vi không tốt.
Giả sử chúng ta muốn bỏ qua nhiều tệp hoặc thư mục. Chúng ta có thể làm điều này bằng cách sử dụng ký tự đại diện *.
Hãy bỏ qua tất cả các tệp .pyc trong kho lưu trữ:
Tất cả các tệp có mẫu tên khớp với *.pyc đều bị bỏ qua. Dấu hoa thị là toán tử ký tự đại diện.
GitHub đã tạo ra một bộ sưu tập tuyệt vời các tệp gitignore mà bạn có thể sử dụng trên trang web của họ. Xem bộ sưu tập tệp gitignore của GitHub.
Sử dụng nhiều tệp .gitignore
Bạn có thể sử dụng nhiều tệp .gitignore trong cùng một kho lưu trữ. Điều này hoạt động vì .gitignore có liên quan đến thư mục chứa nó.
Trong ví dụ trước, chúng tôi đã đặt .gitignore trong thư mục gốc của dự án. Giả sử chúng ta muốn bỏ qua tất cả các tệp kết thúc bằng .pyc trong thư mục diff/. Chúng ta có thể thực hiện việc này bằng cách tạo một tệp có tên .gitignore trong thư mục khác bằng dòng lệnh:
Chúng tôi sẽ thêm quy tắc sau vào tệp .gitignore:
Khi chúng ta chuyển mã vào kho lưu trữ của mình, Git sẽ bỏ qua mọi tệp trong thư mục diff/ kết thúc bằng .pyc.
Thiết lập này là tốt nhất khi bạn chỉ cần các quy tắc để áp dụng cho một số thư mục nhất định trong dự án. Tuy nhiên, có thể gây nhầm lẫn khi có nhiều tệp .gitignore trong một dự án. Một cách khác là cụ thể hơn khi bạn nêu rõ những tập tin nào mà dự án của bạn nên bỏ qua. Nếu muốn cụ thể, bạn có thể giữ tất cả các quy tắc của mình trong một tệp .gitignore. Hãy xem xét tập tin này:
.gitignore này nằm trong thư mục gốc của dự án Git. Nó hướng dẫn Git bỏ qua tất cả các tệp kết thúc bằng .txt trong dự án. Nó cũng hướng dẫn Git bỏ qua tất cả các tệp kết thúc bằng .pyc nằm trong thư mục diff/.
Cách tạo quy tắc bỏ qua Git toàn cầu
Việc xác định tệp .gitignore cho mọi dự án bạn tạo có thể tốn thời gian. Hơn nữa, bạn thường sẽ thấy rằng hầu hết các dự án của mình đều sử dụng cùng một bộ quy tắc .gitignore.
Bạn có thể đặt quy tắc bỏ qua git toàn cầu, quy tắc này sẽ tự động đặt quy tắc gitignore cho mọi kho lưu trữ trên hệ thống của bạn. Tệp này thường được đặt trong thư mục chính của hệ điều hành, chẳng hạn như /home/your_username hoặc /Users/your_username .
Hãy tạo một tệp .gitignore toàn cầu:
Lệnh này tạo một tệp .gitignore trống trong thư mục chính của chúng tôi. Mở tệp này và thêm bất kỳ quy tắc nào bạn muốn đặt cho tất cả các kho Git trên hệ thống của mình.

"Nghề nghiệp đã bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi tham gia chương trình đào tạo. 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 các giá trị và mục tiêu trong cuộc sống của mình!"
Venus, Kỹ sư phần mềm tại Rockbot
Tìm trận đấu Bootcamp của bạn
Khi bạn đã định cấu hình tệp gitignore của mình, bạn có thể thực thi các quy tắc của nó bằng cách sử dụng core.excludesFile tài sản:
git config --global core.excludesFile ~/.gitignore
Lệnh này đặt các quy tắc trong ~/.gitignore để áp dụng cho tất cả kho Git trên máy tính.
Hãy cẩn thận khi bạn xác định quy tắc bỏ qua git toàn cầu. Điều này là do các quy tắc trong .gitignore toàn cầu được đặt theo mặc định trên tất cả các dự án.
Tệp .gitignore toàn cục được sử dụng tốt nhất cho các tệp phổ biến như .env mà bạn hầu như không bao giờ muốn chuyển sang kho lưu trữ git.
Cách bỏ qua tệp đã cam kết
Bạn không thể luôn đoán trước được những tập tin nào bạn sẽ muốn bỏ qua trong một dự án. Có thể xảy ra trường hợp trước đây bạn đã chuyển một tệp vào kho lưu trữ nhưng bây giờ bạn muốn bỏ qua nó.
Hãy bỏ qua tệp config.json. Tệp này đã được cam kết vào kho lưu trữ của chúng tôi. Chúng ta nên bắt đầu bằng cách thêm quy tắc bỏ qua vào .gitignore của mình tập tin:
echo config.json >> .gitignore
Lệnh này nối thêm config.json đến cuối tệp .gitignore của chúng tôi. Bây giờ chúng ta phải xóa tệp khỏi kho lưu trữ của mình. Chúng ta có thể thực hiện việc này bằng lệnh git rm –cached. Lệnh này sẽ chỉ xóa một tệp khỏi kho lưu trữ của bạn. Nó sẽ vẫn là một tập tin cục bộ trên máy tính của bạn.
git rm --cached config.json
Lần tới khi chúng ta tạo một cam kết, tệp config.json sẽ bị bỏ qua.
Cách xác nhận một tệp bị bỏ qua
Bạn có thể cam kết một tệp đã bị bỏ qua trong tệp .gitignore của mình.
Điều này có thể hữu ích nếu bạn đang tạo các tệp cấu hình mặc định mà bạn muốn đưa vào một kho lưu trữ mà lẽ ra sẽ bị bỏ qua. Bạn có thể cam kết một tệp bị bỏ qua bằng cách sử dụng cờ -f khi bạn thêm tệp vào khu vực tổ chức:
git add -f config.json git commit -m "feat: Create default config file"
Mã này thêm tệp config.json vào khu vực tổ chức. Sau đó nó tạo ra một cam kết dựa trên nội dung của khu vực tổ chức. Bạn có thể tìm hiểu thêm về git add trong hướng dẫn git add của chúng tôi. Bạn có thể đọc về lệnh git commit trong hướng dẫn git commit của chúng tôi.
Kết luận
Tệp .gitignore cho phép bạn bỏ qua các tệp trong kho Git.
Bạn có thể không muốn đưa tất cả các tệp trong bản sao cục bộ của dự án vào các cam kết của mình. Ví dụ:bạn có thể không muốn cam kết mã đã biên dịch, nhật ký hệ thống hoặc tệp cấu hình. Để bỏ qua các tệp, bạn có thể chỉ định những tệp bạn muốn bỏ qua trong .gitignore.
Một dự án có thể chứa nhiều .gitignore tập tin. Bạn có thể ghi đè quy tắc .gitignore bằng cờ -f khi bạn sử dụng lệnh git add.
Bây giờ bạn đã sẵn sàng sử dụng tệp .gitignore như một chuyên gia!