Gitignore là gì? Cách hoạt động, cú pháp và hướng dẫn sử dụng file .gitignore trong Git

Những nội dung chính

 

• Hiểu rõ Gitignore là gì và vai trò của nó trong dự án.

 

• Tìm hiểu cách Git áp dụng các quy tắc ignore.

 

• Khám phá lợi ích khi sử dụng .gitignore.

 

• Nắm được cú pháp phổ biến khi viết rule ignore.

 

• Biết các lưu ý quan trọng để tránh lỗi khi cấu hình.

 

Gitignore là gì?

 

Gitignore là một tệp văn bản đặc biệt thường được đặt ở thư mục gốc của repository nhằm khai báo các file hoặc thư mục mà Git cần bỏ qua trong quá trình theo dõi thay đổi.

 

Nhờ có .gitignore, bạn có thể ngăn Git quản lý những tệp không cần thiết như file log, thư mục cache, file build hoặc các tệp chứa dữ liệu nhạy cảm như API key hay biến môi trường.

 

Một số loại tệp thường được đưa vào .gitignore gồm:

 

• Thư mục thư viện như node_modules/

 

• File log như *.log

 

• File tạm như *.tmp

 

• Thư mục build như dist/, build/

 

• File cấu hình môi trường như .env

 

Git .gitignore, repository

 

Gitignore hoạt động như thế nào?

 

Cơ chế hoạt động của .gitignore dựa trên việc Git liên tục so sánh đường dẫn file với các rule được định nghĩa trong tệp cấu hình.

 

Quá trình này thường diễn ra theo các bước sau:

 

Kiểm tra trạng thái file

 

Khi bạn chạy các lệnh Git như git status hoặc git add, Git sẽ quét thư mục làm việc để phát hiện sự thay đổi.

 

So khớp với rule ignore

 

Git sẽ đối chiếu từng file với các pattern được khai báo trong .gitignore.

 

Bỏ qua hoặc tiếp tục theo dõi

 

Nếu file khớp với một quy tắc ignore, Git sẽ bỏ qua file đó. Nếu không khớp rule nào, Git tiếp tục theo dõi bình thường.

 

Điểm quan trọng cần nhớ là .gitignore chỉ áp dụng cho những file chưa từng được Git theo dõi trước đó.

 

Nếu file đã được commit trước đây, thêm rule vào .gitignore sẽ không có tác dụng ngay.

 

Git .gitignore, repository

 

Vì sao nên sử dụng Gitignore?

 

Sử dụng .gitignore gần như là tiêu chuẩn trong hầu hết các dự án phần mềm hiện đại.

 

Bảo vệ dữ liệu nhạy cảm

 

Các file như .env, secret key hoặc chuỗi kết nối database không nên bị đẩy lên remote repository.

 

.gitignore giúp tránh việc vô tình làm lộ thông tin quan trọng.

 

Giảm dung lượng repository

 

Các thư mục dependency hoặc build thường rất nặng. Loại bỏ chúng giúp repo nhẹ hơn và tăng tốc độ clone/pull.

 

Tránh xung đột môi trường cá nhân

 

Mỗi lập trình viên có thể dùng IDE hoặc hệ điều hành khác nhau.

 

Ví dụ:

 

.DS_Store trên macOS


.idea/ của IntelliJ IDEA


.vscode/ của Visual Studio Code

 

Những file này thường không cần chia sẻ với team.

 

Hỗ trợ làm việc nhóm

 

Khi các file local không bị commit lên repo, nhóm phát triển sẽ dễ đồng bộ môi trường hơn và giảm xung đột không cần thiết.

 

Cách tạo và sử dụng file .gitignore

 

Cú pháp cơ bản

 

Git đọc file .gitignore từ trên xuống dưới và áp dụng từng quy tắc theo thứ tự.

 

Dấu

 

Dùng để ghi chú.

 

Ví dụ:

 

# Ignore log files

 

Git sẽ bỏ qua dòng comment này.

 

Dấu *

 

Ký tự đại diện cho mọi chuỗi.

 

Ví dụ:

 

*.log

 

Rule này bỏ qua toàn bộ file có đuôi .log.

 

Dấu /

 

Dùng để xác định đường dẫn cụ thể.

 

Ví dụ:

 

/build

 

Chỉ bỏ qua thư mục build ở root project.

 

Dấu !

 

Dùng để tạo ngoại lệ.

 

Ví dụ:

 

*.log

!important.log

 

Mọi file .log bị ignore ngoại trừ important.log.

 

Cách tạo file .gitignore

 

Bước 1: Tạo file

 

Tạo file tên:

 

.gitignore

 

và đặt tại thư mục gốc của repository.

 

Bước 2: Thêm rule

 

Ví dụ:

 

Bỏ qua thư mục:

 

node_modules/

dist/

.env

 

Bỏ qua file theo extension:

 

*.log

*.tmp

 

Bỏ qua file trong thư mục con:

 

/temp/*.log

 

Tạo ngoại lệ:

 

*.txt

!readme.txt

 

Bước 3: Commit file

 

Sau khi lưu file:

 

git add .gitignore

git commit -m "Add gitignore"

 

Sử dụng template .gitignore có sẵn

 

Bạn không nhất thiết phải tự viết toàn bộ .gitignore.

 

GitHub gitignore templates cung cấp rất nhiều template cho:

 

• Node.js

 

• Python


• Laravel


• Java

 

• Windows

 

• macOS

 

Bạn chỉ cần chọn template phù hợp rồi chỉnh sửa thêm theo nhu cầu.

 

Những file nào nên đưa vào .gitignore?

 

Tùy từng dự án, bạn nên cân nhắc ignore các nhóm sau:

 

Dependency

 

Ví dụ:

 

node_modules/


vendor/

 

File môi trường

 

Ví dụ:

 

.env


.config.local

 

File build

 

Ví dụ:

 

/dist


/build


/out

 

File IDE và OS

 

Ví dụ:

 

.idea/


.vscode/


.DS_Store

 

Một số lưu ý khi dùng Gitignore

 

Nên tạo từ sớm

 

Hãy cấu hình .gitignore ngay khi bắt đầu dự án để tránh việc repo bị “bẩn” bởi các file không cần thiết.

 

Xử lý Git cache nếu thêm muộn

 

Nếu file đã được Git track trước đó, bạn cần xóa cache:

 

git rm -r --cached .

git add .

 

Lệnh này chỉ xóa khỏi Git index, không xóa file trên máy.

 

.gitignore không xóa file đã commit

 

Các file từng commit vẫn nằm trong Git history.

 

Muốn dừng track một file:

 

git rm --cached <file>

 

Sau đó commit lại thay đổi.

 

Có thể dùng nhiều file .gitignore

 

Một repository hoàn toàn có thể chứa nhiều file .gitignore ở các thư mục con để quản lý rule riêng cho từng module.

 

Git .gitignore, repository

 HỖ TRỢ TRỰC TUYẾN