Công cụ này làm gì
Trình tạo .gitignore tạo tệp .gitignore cho kho mã của bạn bằng cách kết hợp các mẫu có sẵn. Chọn ngôn ngữ, framework, công cụ build, game engine, trình soạn thảo và hệ điều hành mà dự án dùng, công cụ sẽ gộp các quy tắc vào một tệp duy nhất với tiêu đề ### Tên ### cho mỗi phần, sẵn sàng để sao chép hoặc tải xuống.
Có khoảng sáu mươi mẫu từ bộ sưu tập github/gitignore: Node.js, Python, Java, Go, Rust, .NET, Swift, các framework PHP như Laravel và Symfony, Next.js, Flutter, Android, Terraform, Unity, Unreal Engine, Godot, VS Code, IDE của JetBrains, Vim, Emacs, macOS, Windows, Linux và nhiều hơn nữa. Mọi thứ chạy trong trình duyệt; không có yêu cầu nào được gửi đi.
Cách sử dụng
- Nhấp vào mẫu trong danh sách để thêm. Ô tìm kiếm cũng nhận các tên gọi khác phổ biến: “typescript” tìm ra Node.js và “intellij” tìm ra JetBrains.
- Các mẫu đã chọn hiện ở trên cùng dưới dạng nhãn theo thứ tự bạn chọn, và tệp cũng theo thứ tự đó. Nhấp vào nhãn để bỏ, hoặc Xóa hết để bắt đầu lại.
- Thêm mục riêng của dự án vào Quy tắc tùy chỉnh, phân tách bằng dấu phẩy, ví dụ
.env, /dist, *.local. Chúng được thêm vào cuối trong phần### Custom ###. - Chọn có giữ chú thích giải thích trong mẫu hay không và có bỏ các quy tắc mà mẫu trước đã liệt kê hay không.
- Sao chép kết quả hoặc tải xuống. Tệp tải về có tên
.gitignore; hãy lưu nó ở thư mục gốc của kho mã.
Lựa chọn được lưu trong địa chỉ trang, nên dấu trang hoặc liên kết chia sẻ sẽ tạo lại đúng tệp đó.
Ví dụ
Chọn Node.js, macOS và VS Code, thêm quy tắc tùy chỉnh .env.local và tắt chú thích, bạn sẽ nhận được tệp như sau (rút gọn):
### Node.js ###
logs
*.log
npm-debug.log*
…
node_modules/
…
### macOS ###
.DS_Store
.AppleDouble
.LSOverride
…
### VS Code ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
!*.code-workspace
*.vsix
### Custom ###
.env.local
Mẫu bắt đầu bằng ! sẽ đưa trở lại những gì quy tắc trước đã loại trừ: ở đây cài đặt, tác vụ và cấu hình chạy dùng chung của VS Code được giữ trong kho mã, còn trạng thái trình soạn thảo cá nhân bị bỏ qua. Thêm .env làm quy tắc tùy chỉnh sẽ không thay đổi gì, vì mẫu Node.js đã có sẵn.
Mẹo
- Đặt quy tắc cho công cụ cá nhân (tệp hoán đổi của trình soạn thảo, siêu dữ liệu hệ thống) vào tệp loại trừ toàn cục để mọi kho mã đều được hưởng mà không phải lặp lại.
- Dấu gạch chéo ở cuối như
build/chỉ khớp với thư mục; dấu gạch chéo ở đầu như/buildneo quy tắc vào thư mục gốc của kho mã. - Dùng
git check-ignore -v <đường dẫn>để xem dòng nào của tệp bỏ qua nào khớp với một đường dẫn. - Đừng dựa vào .gitignore để bảo vệ bí mật đã commit: hãy thay chúng và viết lại lịch sử.
Câu hỏi thường gặp
› Các mẫu lấy từ đâu?
Đó là bản sao đi kèm của bộ sưu tập chính thức github/gitignore, được GitHub phát hành theo tuyên bố miền công cộng CC0. Công cụ không tải gì khi bạn sử dụng; các mẫu có sẵn trong trang.
› Vì sao tệp vẫn bị theo dõi sau khi đã thêm vào .gitignore?
.gitignore chỉ tác động lên tệp chưa được theo dõi. Nếu tệp đã được commit trước đó, hãy gỡ nó khỏi chỉ mục bằng git rm --cached <tệp> (thêm -r với thư mục) rồi commit; tệp vẫn nằm trên đĩa và từ đó sẽ bị bỏ qua.
› Bỏ quy tắc trùng lặp có tác dụng gì?
Nhiều mẫu có chung quy tắc: Java và Kotlin đều bỏ qua *.class, C và C++ đều bỏ qua *.o. Khi bật, mỗi quy tắc chỉ được ghi ở lần xuất hiện đầu tiên, và chú thích tiêu đề có toàn bộ quy tắc bị bỏ cũng bị xóa. Tắt đi để nhận từng mẫu đúng như bản phát hành.
› Có nên commit tệp .gitignore không?
Có. Tệp .gitignore đã commit áp dụng cho mọi người clone kho mã. Những quy tắc chỉ liên quan đến máy của bạn, như trình soạn thảo hay hệ điều hành, cũng có thể đặt trong tệp loại trừ toàn cục (git config --global core.excludesFile ~/.gitignore_global).