Giữ thư mục rỗng thế nào? .gitkeep hay .gitignore?

Các thao tác add và checkout thông thường của Git giữ thư mục qua tệp bên trong. Chọn .gitkeep cho thư mục ban đầu rỗng, hoặc .gitignore nếu cần bỏ qua nội dung sẽ được tạo.

1. Giữ tệp đánh dấu

Tạo uploads và tệp rỗng uploads/.gitkeep bằng trình soạn thảo, rồi đưa đúng tệp đó vào vùng chờ:

git add -- uploads/.gitkeep

Xác nhận chỉ mục có uploads/.gitkeep. .gitkeep chỉ là quy ước, không có hành vi đặc biệt trong Git; README giải thích mục đích thư mục cũng được. Nó không tự bỏ qua tệp thêm sau.

git ls-files -- uploads/

2. Giữ thư mục, bỏ qua nội dung được tạo

Thay cho .gitkeep, tạo uploads/.gitignore chứa hai dòng dưới đây. * bỏ qua nội dung và !.gitignore giữ tệp quy tắc có thể được theo dõi.

Chính tệp quy tắc là tệp giữ chỗ được theo dõi nên thư mục chứa tệp đó. Cách này chủ động bỏ qua tệp tương lai cho đến khi chỉnh quy tắc.

*
!.gitignore

Vì sao ! không giữ được tệp trong thư mục bị bỏ qua?

3. Xác minh cách đã chọn

Với cách .gitignore, đưa tệp quy tắc vào vùng chờ:

git add -- uploads/.gitignore

Tạo uploads/example.bin rồi kiểm tra quy tắc khớp:

git check-ignore -v -- uploads/example.bin

Chỉ mục phải hiện uploads/.gitignore, không có example.bin. Nếu quy tắc cha loại chính uploads, hãy sửa trước để Git đọc được .gitignore bên trong.

git ls-files -- uploads/

Bỏ qua thư mục thế nào? folder/ và /folder/

Xem tài liệu chính thức để biết hành vi chính xác và thông tin chi tiết: Tài liệu Git · Tài liệu git add