Email Doanh NghiệpSSLFirewall Anti DDoS

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Gitignore là gì? Nguyên lý hoạt động, cách tạo và cú pháp sử dụng gitignore

Cao Lê Viết Tiến

Đã kiểm duyệt nội dung

Ngày đăng:29/04/2026
Lượt xem

Quy trình sản xuất nội dung

Đánh giá

[esi kkstarratings cache="private" ttl="3"]

Gitignore là một file cấu hình trong Git dùng để khai báo những tệp và thư mục không cần đưa vào quản lý phiên bản, giúp repository gọn nhẹ hơn, dễ kiểm soát và tránh đẩy nhầm file nhạy cảm lên remote. Bài viết này được mình đúc kết từ kinh nghiệm cấu hình gitignore cho nhiều dự án thực tế, tập trung vào cách sử dụng, cú pháp và những lỗi phổ biến để bạn thiết lập gitignore đúng ngay từ đầu.

Những điểm chính

  • Quan điểm của mình: Trong bối cảnh dự án ngày càng phức tạp và làm việc nhóm là tiêu chuẩn, một file gitignore được cấu hình đúng ngay từ đầu quan trọng không kém chất lượng code, vì nó quyết định repo của bạn có sạch, an toàn và dễ bảo trì hay không.
  • Khái niệm Gitignore: Hiểu rõ Gitignore là file cấu hình dùng để khai báo các tệp và thư mục không cần đưa vào quản lý phiên bản, giúp repository luôn gọn gàng và an toàn.
  • Nguyên lý hoạt động: Nắm được cách Gitignore hoạt động, giúp bạn hiểu cách Git bỏ qua các file và thư mục được khai báo, từ đó tránh commit nhầm dữ liệu riêng tư hoặc file tạm.
  • Lợi ích: Nhận biết các lợi ích chính như giảm dung lượng kho lưu trữ, hạn chế thông tin nhạy cảm và hỗ trợ làm việc nhóm, giúp bạn đánh giá giá trị của việc sử dụng Gitignore.
  • Cách tạo và cú pháp: Nắm vững cách tạo file .gitignore và các cú pháp cơ bản như bỏ qua toàn bộ file/thư mục, bỏ qua theo phần mở rộng và loại trừ file, giúp bạn dễ dàng khai báo các quy tắc.
  • Lưu ý quan trọng: Nắm được các lưu ý như tạo .gitignore càng sớm càng tốt, xử lý Git cache và tác động của .gitignore lên tệp đã commit, giúp bạn sử dụng công cụ hiệu quả và tránh lỗi.
  • Biết thêm Vietnix: Tìm hiểu về VPS Vietnix, giúp có thêm lựa chọn giải pháp máy chủ ảo cho doanh nghiệp.
  • Câu hỏi thường gặp: Được giải đáp các thắc mắc về cách tạo, bỏ qua folder cụ thể và các template cho ngôn ngữ/nền tảng khác, giúp củng cố kiến thức và làm rõ các vấn đề thực tế.
những điểm chính

Gitignore là gì?

Gitignore là một file văn bản đặc biệt đặt ở thư mục gốc, dùng để khai báo những file và folder mà bạn không muốn Git đưa vào theo dõi, từ đó tránh bị đưa lên repository. Nhờ vậy, repository của bạn sẽ gọn gàng hơn, không chứa các file thừa hoặc những tệp có thông tin nhạy cảm như mật khẩu, secret key hay dữ liệu build được sinh ra trong quá trình phát triển.

Thông thường, bạn sẽ muốn bỏ qua các loại tệp như: file cấu hình môi trường làm việc của IDE (Visual Studio Code, JetBrains,…), thư mục node_modules trong các dự án Node.js, các file tạm (*.tmp, *.log), cùng những thư mục cache hoặc sản phẩm build như dist/, build/. Để tránh vô tình commit các tệp này, bạn chỉ cần khai báo pattern tương ứng trong file .gitignore để Git tự động bỏ qua chúng trong các lần theo dõi và commit sau đó.

Gitignore là file dùng để khai báo các file và folder không muốn Git đưa vào theo dõi
Gitignore là file dùng để khai báo các file và folder không muốn Git đưa vào theo dõi

Nếu dự án của bạn cần một nền tảng lưu trữ máy chủ mạnh mẽ, VPS NVMe Vietnix chính là giải pháp hoàn hảo. Bằng cách kết hợp ổ cứng NVMe siêu tốc và bộ vi xử lý CPU AMD EPYC hiện đại, hệ thống mang lại tốc độ đọc/ghi dữ liệu đột phá cùng độ trễ cực thấp. Ngoài ra, dịch vụ còn cung cấp tính năng sao lưu dữ liệu tự động định kỳ hàng tuần, giúp bạn bảo vệ an toàn tuyệt đối cho mọi thành quả lập trình của mình.

Bùng Nổ Doanh Thu Với VPS NVMe

Website nhanh hơn – Bán được nhiều hàng hơn

  • Chiếm lĩnh TOP Google, hút traffic.
  • Mua sắm mượt mà, tăng tỷ lệ chốt đơn.
  • Chuyên gia kỹ thuật đồng hành 24/7.
Tăng tốc doanh thu ngay
template vps nvme

Nguyên lý hoạt động của gitignore

Nguyên lý hoạt động của .gitignore dựa trên cơ chế đối chiếu đường dẫn liên tục. Quá trình hệ thống xử lý diễn ra theo các bước như sau:

  • Kiểm tra trạng thái tập tin: Khi bạn thực hiện các thao tác thêm tệp tin vào bộ nhớ đệm, Git sẽ quét toàn bộ thư mục làm việc để rà soát sự thay đổi.
  • Đối chiếu quy tắc lọc: Git tự động so sánh đường dẫn của từng tập tin với các dòng quy tắc đã được định nghĩa bên trong file .gitignore.
  • Tiến hành bỏ qua hoặc theo dõi: Nếu tệp tin khớp với quy tắc trong danh sách, Git sẽ ngay lập tức bỏ qua file và xếp vào nhóm “Untracked”. Ngược lại, nếu tệp tin không khớp với bất kỳ quy tắc nào, Git sẽ ghi nhận và theo dõi sự thay đổi như bình thường.

Đặc biệt, bạn cần lưu ý rằng .gitignore chỉ có tác dụng đối với những tập tin chưa từng được Git đưa vào danh sách quản lý trước đó. Nếu một tệp tin đã ở trạng thái được theo dõi, bạn bắt buộc phải gỡ file ra khỏi bộ nhớ của Git thì các quy tắc chặn mới bắt đầu có hiệu lực.

Nguyên lý hoạt động của gitignor
Nguyên lý hoạt động của gitignor

Tại sao cần sử dụng gitignore?

Sử dụng .gitignore là một tiêu chuẩn chuyên nghiệp mang tính bắt buộc trong quá trình phát triển phần mềm. Chúng mang đến cho lập trình viên những lợi ích quan trọng dưới đây:

  • Bảo mật thông tin nhạy cảm: Mọi dự án đều chứa các tệp tin lưu trữ mật khẩu, chuỗi kết nối cơ sở dữ liệu hay API Keys (thường là file .env). Việc bạn khai báo chặn các tệp tin này sẽ giúp dự án tránh được rủi ro bị đánh cắp dữ liệu khi đẩy mã nguồn lên môi trường internet.
  • Tối ưu hóa không gian lưu trữ: Các bộ biên dịch mã nguồn thường sinh ra hàng loạt file nhật ký, file bộ nhớ tạm hay các tệp tin thư viện dung lượng lớn. Bạn cần loại bỏ những file rác này để kho lưu trữ không bị phình to, từ đó gia tăng tốc độ tải mã nguồn.
  • Tránh xung đột môi trường cá nhân: Mỗi lập trình viên trong nhóm có thể sử dụng các hệ điều hành và trình soạn thảo mã lệnh khác nhau (ví dụ: file .DS_Store của MacOS). Bạn phải bỏ qua các file cấu hình hệ thống này để chúng không ghi đè lẫn nhau, giúp hạn chế phát sinh lỗi do xung đột môi trường.
  • Hỗ trợ làm việc nhóm dễ dàng: Trong team, mỗi người có thể dùng hệ điều hành, IDE, tool và cấu hình local khác nhau, từ đó tạo ra rất nhiều file cấu hình riêng. Thay vì để các file đó xuất hiện trong commit và gây xung đột, bạn có thể liệt kê chúng trong .gitignore để chỉ giữ lại những file thực sự liên quan đến source chung của dự án.
Lợi ích khi sử dụng gitignor
Lợi ích khi sử dụng gitignore

Cách viết quy tắc cơ bản

Khi thực thi các lệnh Git, hệ thống sẽ tự động quét tệp .gitignore từ trên xuống dưới để đối chiếu các quy tắc. Để yêu cầu Git bỏ qua đúng tệp mong muốn, bạn cần nắm vững các ký tự đại diện mang tính quy ước sau đây:

  • Dấu # (Chú thích): Bất kỳ dòng nào bắt đầu bằng dấu # đều được hiểu là dòng ghi chú. Git sẽ hoàn toàn bỏ qua các dòng này.
  • Dấu * (Ký tự đại diện): Ký tự này đại diện cho mọi chuỗi ký tự. Ví dụ, khi bạn viết *.log, hệ thống Git sẽ bỏ qua tất cả các file có đuôi .log nằm trong dự án.
  • Dấu / (Đường dẫn): Dấu gạch chéo dùng để chỉ định chính xác vị trí của thư mục. Nếu bạn viết /build, Git chỉ bỏ qua thư mục build nằm ở thư mục gốc, trong khi các thư mục build nằm ở thư mục con khác vẫn được theo dõi.
  • Dấu ! (Ngoại lệ): Ký tự này được sử dụng để loại trừ một tệp cụ thể ra khỏi quy tắc bỏ qua trước đó. Ví dụ, nếu bạn dùng *.txt để bỏ qua mọi file văn bản, nhưng bạn vẫn muốn giữ lại file readme.txt, bạn chỉ cần thêm dòng !readme.txt ngay bên dưới.

Cách tạo file .gitignore

Bước 1 – Tạo file: Để khởi tạo .gitignore, bạn chỉ cần tạo một file tên .gitignore đặt tại thư mục gốc của repository Git.

Bước 2 – Khai báo quy tắc: Bạn mở tệp vừa tạo và nhập các quy tắc loại trừ dựa trên cú pháp đã nêu ở phần trên. Dưới đây là một số quy tắc phổ biến nhất:

  • Bỏ qua toàn bộ file hoặc thư mục: Ghi trực tiếp tên file/thư mục cần loại khỏi quản lý phiên bản.
node_modules/
dist/
.env

Trong ví dụ trên, Git sẽ không theo dõi hai thư mục node_modules/, dist/file .env.

  • Bỏ qua tất cả file có phần mở rộng nhất định: Dùng dấu sao * để đại diện cho mọi chuỗi ký tự.
*.log
*.tmp

Mọi file kết thúc bằng .log và .tmp sẽ bị bỏ qua.

  • Bỏ qua file trong một thư mục con cụ thể: Dùng dấu gạch chéo / để chỉ rõ đường dẫn.
/temp/*.log

Mẫu trên chỉ loại các file .log bên trong thư mục temp/, các file .log ở nơi khác vẫn được Git theo dõi.

  • Loại trừ một file cụ thể khỏi pattern: Sử dụng dấu chấm than ! để yêu cầu Git theo dõi lại file đó.
*.log
!important.log

Dòng đầu tiên bỏ qua toàn bộ file .log, dòng thứ hai giữ lại important.log trong lịch sử Git.

Bước 3 – Lưu và xác nhận: Bạn lưu file lại, sau đó sử dụng lệnh git add .gitignoregit commit -m "Add .gitignore" để đưa tệp này vào lịch sử theo dõi của dự án.

Tận dụng các mẫu .gitignore sẵn có trên GitHub

Ngoài cách tạo file thủ công thì GitHub còn duy trì một kho template .gitignore cho nhiều ngôn ngữ lập trình và nền tảng khác nhau tại repository github/gitignore. Bạn có thể chọn template phù hợp (ví dụ: Node, Python, Laravel, Windows, macOS,…) và điều chỉnh thêm theo nhu cầu của dự án.

Quan điểm của mình: Trong thực tế làm dự án, phần lớn lỗi với .gitignore không đến từ việc thiếu quy tắc mà đến từ việc viết pattern không chính xác hoặc dùng quá chung chung, khiến Git bỏ sót file cần theo dõi hoặc ngược lại là bỏ qua nhầm file quan trọng. Vì vậy khi thiết lập .gitignore, mình luôn ưu tiên hiểu rõ ý nghĩa từng ký tự như *, /, ! và kiểm tra lại bằng git status sau khi thêm quy tắc mới, thay vì copy nguyên mẫu mà không rà soát.

Những loại tệp nào nên được thêm vào .gitignore?

Tùy thuộc vào ngôn ngữ lập trình, bạn nên cân nhắc đưa các thành phần sau vào tệp .gitignore:

  • Thư mục phụ thuộc: Các thư viện bên thứ ba như node_modules/ (của npm) hoặc vendor/ (của Composer) thường rất nặng và có thể tự động tải lại thông qua file cấu hình.
  • Tệp cấu hình môi trường: Các tệp .env, .config.local chứa thông tin kết nối cơ sở dữ liệu và mã thông báo bảo mật. Bạn tuyệt đối không được để các tệp này công khai.
  • Tệp sinh ra khi biên dịch: Các thư mục như /dist, /build, /out hoặc các tệp .class, .o là kết quả của quá trình biên dịch mã nguồn. Mọi lập trình viên đều có thể tự tạo lại chúng từ mã gốc.
  • Tệp IDE và hệ điều hành: Những file sinh ra từ trình soạn thảo mã (ví dụ .vscode/, .idea/) hoặc file cấu hình hệ thống (.DS_Store) không mang lại giá trị cho người khác và nên bị loại bỏ.
Các loại tệp nên thêm vào .gitignore
Các loại tệp nên thêm vào .gitignore

Tạo .gitignore càng sớm càng tốt

Bạn nên khởi tạo file .gitignore ngay từ giai đoạn bắt đầu xây dựng dự án và thiết lập trước các thư mục, tệp cần loại khỏi quản lý để giữ repo sạch ngay từ đầu. Trường hợp dự án đã vận hành một thời gian rồi mới bổ sung .gitignore thì vẫn hoàn toàn có thể áp dụng, bạn chỉ cần xử lý lại phần cache của Git cho phù hợp.

Xử lý Git cache khi thêm .gitignore trễ

Các tệp đã được Git theo dõi trước đó đều nằm trong index/cache, vì vậy chỉ chỉnh sửa .gitignore thôi sẽ không đủ để áp dụng quy tắc ignore cho các tệp này. Để cập nhật lại trạng thái theo dõi, bạn cần sử dụng lệnh:

git rm -r --cached /path/to/file_or_folder

Hoặc khi sử dụng với nhiều đối tượng thì bạn có thể dùng lệnh:

git rm -r --cached .
git add .

Lệnh này dùng để xóa khỏi cache nhưng vẫn giữ tệp trên máy, sau đó Git mới áp dụng quy tắc ignore đúng cách.

.gitignore không ảnh hưởng tệp đã commit

.gitignore chỉ áp dụng cho những tệp chưa từng được Git đưa vào theo dõi, các tệp đã được commit trước đó vẫn tồn tại trong lịch sử và tiếp tục nằm dưới sự quản lý của Git. Nếu muốn dừng theo dõi một tệp nhưng vẫn giữ nguyên trong thư mục làm việc, bạn hãy sử dụng lệnh sau:

git rm --cached <file>

Sau khi áp dụng lệnh thì bạn cần commit lại để cập nhật trạng thái.

Có thể dùng nhiều file .gitignore trong một repo

Một repository có thể chứa nhiều file .gitignore ở các thư mục khác nhau và mỗi file sẽ áp dụng cho thư mục hiện tại cùng các thư mục con. Ví dụ, nếu thư mục assets/ có nhiều tệp tạm, bạn có thể tạo riêng assets/.gitignore để quản lý rule ignore chuyên biệt cho phần tài nguyên này mà không ảnh hưởng toàn bộ dự án.

Các lưu ý khi sử dụng .gitignore
Các lưu ý khi sử dụng .gitignore

Quan điểm của mình: Những lỗi khó chịu nhất với .gitignore thường không nằm ở cú pháp, mà ở cách áp dụng trong vòng đời dự án, đặc biệt là thêm .gitignore quá trễ, không xử lý lại Git cache và không tách rule theo từng thư mục, khiến repo vừa nặng vừa khó kiểm soát lịch sử. Vì vậy khi làm việc với team, mình luôn khuyến khích tạo .gitignore ngay từ khi khởi tạo repo, coi việc cập nhật cache là bước bắt buộc khi bổ sung rule mới và ưu tiên tách nhiều file .gitignore cho từng module thay vì dồn mọi thứ vào một file duy nhất.

Giải pháp lưu trữ mã nguồn và ứng dụng với VPS Vietnix

Nếu cần một môi trường toàn diện để chạy ứng dụng, dịch vụ VPS tại Vietnix là lựa chọn tối ưu. Máy chủ ảo Vietnix cung cấp toàn quyền quản trị cao nhất, cho phép bạn tự do tùy chỉnh và cài đặt đa dạng hệ điều hành. Tài nguyên phần cứng được cấp phát độc lập, đảm bảo hiệu suất xử lý tác vụ mạnh mẽ và hỗ trợ mở rộng quy mô một cách linh hoạt. Bên cạnh đó, tính năng tự động sao lưu định kỳ cùng đội ngũ kỹ thuật giàu kinh nghiệm túc trực 24/7 sẽ giúp hệ thống máy chủ của bạn luôn hoạt động ổn định.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh

Câu hỏi thường gặp

Làm sao để tạo file .gitignore?

Bạn chỉ cần tạo một file tên .gitignore và đặt ở thư mục gốc của repository, sau đó thêm các pattern (quy tắc) tương ứng với file/thư mục muốn Git bỏ qua. File này có thể được tạo thủ công bằng editor bất kỳ hoặc sinh tự động từ các công cụ hỗ trợ như gitignore.io, GitHub template.

Cách dùng .gitignore để bỏ qua một folder cụ thể?

Để Git bỏ qua toàn bộ một thư mục, bạn chỉ cần khai báo tên thư mục kèm dấu gạch chéo, ví dụ:
node_modules/
dist/
logs/
Khi đó, toàn bộ nội dung bên trong các thư mục này sẽ không được Git theo dõi nữa (trừ những file được “unignore” lại bằng dấu !).

Gitignore gen / Gitignore generator là gì?

Gitignore generator là các công cụ tạo template .gitignore tự động, thường cho phép bạn tick chọn hệ điều hành, IDE, ngôn ngữ, framework rồi xuất ra file .gitignore hoàn chỉnh. Một số lựa chọn phổ biến gồm trang web gitignore.io, Gitignore Generator, hoặc extension trong VS Code dùng API của gitignore.io.

Có template .gitignore riêng cho C++ không?

Có, GitHub và nhiều công cụ generator cung cấp sẵn template .gitignore dành cho C++, bao gồm rule cho file biên dịch, file object, thư mục build, IDE phổ biến,… Bạn có thể lấy trực tiếp qua GitHub gitignore templates (chọn C++) hoặc dùng gitignore.io với từ khóa C++ để sinh nội dung tương ứng.

Dự án Android nên dùng .gitignore như thế nào?

Dự án Android thường tạo ra rất nhiều file build và cấu hình máy local, vì vậy nên dùng template .gitignore dành riêng cho Android để loại bỏ những file như thư mục build/, file cấu hình IDE, file key store,… Bạn có thể chọn template Android từ kho gitignore của GitHub hoặc nhập từ khóa android trên gitignore.io để tạo nhanh.

.gitignore cho ReactJS có gì đặc biệt?

Với dự án ReactJS (create-react-app hoặc framework tương tự), .gitignore thường bỏ qua thư mục node_modules, các thư mục build như build/ hoặc dist/, file log, cache và cấu hình môi trường như .env.local. Bạn có thể dùng template React/Node từ gitignore.io hoặc GitHub gitignore để có bộ rule tối ưu cho ReactJS.

Tôi có thể tạo nhiều file .gitignore trong cùng một dự án không?

Có. Bạn hoàn toàn có thể đặt file .gitignore ở các thư mục con khác nhau. Tệp .gitignore nằm trong thư mục con sẽ có độ ưu tiên cao hơn tệp nằm ở thư mục gốc khi áp dụng cho các file thuộc thư mục con đó.

Biệc sử dụng file gitignore là bước không thể thiếu nếu bạn muốn giữ cho repository luôn gọn gàng, dễ quản lý và an toàn hơn trong quá trình phát triển dự án. Chỉ với vài dòng cấu hình đơn giản, gitignore giúp loại bỏ các tệp thừa, tệp build, log, cấu hình cá nhân và cả những dữ liệu nhạy cảm khỏi lịch sử Git, từ đó tối ưu hiệu năng làm việc, giảm xung đột khi làm việc nhóm và hạn chế tối đa nguy cơ rò rỉ thông tin quan trọng.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

lap-trinh

cong-cu-va-ide

text
icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG