Trình tạo .gitignore
Thiếu .gitignore chính là lý do các khóa API lọt vào lịch sử Git và 400 MB node_modules bị đẩy lên GitHub. Trình tạo này xuất ra một mẫu đã được kiểm thử cho stack của bạn, Node, Python, Rails hoặc Laravel, với các thư mục phụ thuộc, kết quả build và tệp môi trường đã được loại trừ sẵn.
Cách tạo tệp .gitignore
-
1
Chọn stack của bạn
Node, Python, Rails hay Laravel, mỗi stack có tập tệp tạm thời riêng.
-
2
Tạo
Công cụ hợp nhất các quy tắc chung (.DS_Store, .env, node_modules) với các quy tắc riêng của từng stack.
-
3
Lưu thành .gitignore
Đặt tệp vào thư mục gốc của repo trước lần commit đầu tiên.
-
4
Commit tệp đó
Bản thân tệp .gitignore cũng nên được theo dõi, nó là một phần của dự án, không phải tùy chọn cục bộ.
Vì sao khối chung luôn hiện diện
| Quy tắc | Lý do bỏ qua |
|---|---|
.DS_Store |
Siêu dữ liệu của Finder trên macOS, không bao giờ hữu ích cho máy khác |
.env |
Bí mật: khóa API, mật khẩu cơ sở dữ liệu, thông tin xác thực OAuth |
.env.* |
Biến thể theo môi trường (staging, production) |
!.env.example |
Nhưng hãy giữ tệp ví dụ để cộng tác viên mới biết cấu trúc |
node_modules/ |
Có thể cài lại từ package.json; dung lượng lớn và phụ thuộc nền tảng |
Bổ sung riêng cho từng stack
| Stack | Bổ sung chính |
|---|---|
| Node | dist/, coverage/, npm-debug.log* |
| Python | __pycache__/, .venv/, *.pyc, .pytest_cache/ |
| Rails | log/*, tmp/*, storage/*, /public/assets |
| Laravel | vendor/, /storage/*.key, /public/build, .phpunit.cache/ |
Các lỗi thường gặp
- Commit
.envquá sớm, rồi mới thêm vào.gitignore. Tệp đã nằm trong lịch sử, hãy dùnggit rm --cached .envvà xoay lại (rotate) mọi bí mật từng có trong đó. - Bỏ qua
.env.examplecùng với.env. Đồng đội cần tệp ví dụ để khởi tạo dự án. - Mẫu quá rộng:
*.logcó thể che mất các cấu hình log quan trọng cho production; khi nghi ngờ hãy chỉ định cụ thể hơn. - Tệp riêng của nền tảng nhưng không chỉ của riêng bạn: hãy đóng góp chúng qua
.gitignoredùng chung, chứ không phải tệp cá nhân.
gitignore cá nhân so với gitignore của dự án
Với các tệp trình soạn thảo chỉ của riêng bạn (IDE JetBrains, Emacs), hãy dùng gitignore toàn cục (~/.config/git/ignore) thay vì làm phình to từng dự án.
Câu hỏi thường gặp
Vì .gitignore chỉ ngăn thêm các tệp chưa được theo dõi. Hãy chạy git rm --cached path/to/file để ngừng theo dõi một tệp đã commit, commit thay đổi đó, và sau đó quy tắc sẽ loại trừ nó.
Không, nên commit các tệp lock để mọi môi trường cài đúng cùng một phiên bản. Bỏ qua chúng sẽ làm quay lại loại lỗi “chạy tốt trên máy của tôi”.
Dấu gạch chéo ở đầu neo mẫu vào thư mục gốc của repo. /logs chỉ khớp thư mục logs/ ở cấp cao nhất, trong khi logs khớp với bất kỳ thư mục logs nào ở mọi độ sâu.
Không. Tệp được tạo không được lưu trữ hay theo dõi. Lựa chọn stack của bạn được gửi đến máy chủ của chúng tôi để tạo quy tắc và ở chế độ nhiều bước cũng nằm trong liên kết trang, nhưng nội dung tệp không được lưu lại.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
Bảng tra cứu nhanh Markdown
Tài liệu Markdown thực dụng với bản xem trước thực tế và ví dụ có thể sao chép cho tiêu đề, danh sách, bảng, mã, liên kết, hình ảnh và cú pháp GFM.
Trình xem hex của tệp nhị phân
Chọn một tệp và kiểm tra phần dữ liệu giới hạn từ bất kỳ offset byte hợp lệ nào dưới dạng hex dump cục bộ với cột offset, hex và ASCII.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- .gitignore-Generator [DE]
- ตัวสร้างไฟล์ .gitignore [TH]
- Generator .gitignore [PL]
- Gerador de .gitignore [PT]
- .gitignore-generator [SV]
- Generator .gitignore [ID]
- Generador de .gitignore [ES]
- .gitignore ジェネレーター [JA]
- .gitignore 생성기 [KO]
- Générateur de .gitignore [FR]
- مولّد ملفات .gitignore [AR]
- .gitignore-generator [NL]
- .gitignore Generator [EN]
- Generatore .gitignore [IT]
- Генератор .gitignore [RU]
- .gitignore Oluşturucu [TR]
- .gitignore 生成器 [ZH]