.gitkeep

Khi bắt đầu một dự án xây dựng web, một trong những công việc đầu tiên là tạo cấu trúc thư mục(code structure) cho trang web và commit cấu trúc thư mục này lên repo.

Ví dụ thiết kế một cấu trúc thư mục như thế này cho một trang web đơn giản:

src/
|-- assets/
    |-- images/
|-- styles/
    |-- main.css
index.html
README.md

Tuy nhiên, khi thực hiện thao tác để commit cấu trúc thư mục này thì mình chỉ thấy có file index.html và file src/styles/main.css thay đổi để commit mà thôi!

Điều này cũng có nghĩa là khi code push lên repo của mình thì sẽ không có cấu trúc như mình mong muốn!

Vậy làm thế nào để có thể commit các thư mục trống không chứ file như assets , assets/images lên git?

Câu này mình nghĩ là khá đơn giản, bạn có thể lên google và search “How to keep empty folder on git” là sẽ có ngay câu trả lời.

Đó là dùng file .gitkeep đặt vào trong thư mục trống đó.

Thế là đã có thể commit lên được rồi. Và đây là kết quả.

Như tại sao lại là file .gitkeep nhỉ? Liệu có thể là file khác được không?

 

Câu trả lời là

Bạn có thể đặt bất cứ file nào, text.txt hay thậm chí là .gitignore.

Tuy nhiên vì mục đích của file này là giữ cho một thư mục có thể trống, theo nghĩa đen của nó, nên theo cách làm tiêu chuẩn sẽ là một file có đủ ý nghĩa trên:

👉 .gitkeep là file ẩn

👉 .gitkeep mang ý nghĩa đúng với vai trò của nó

Hi vọng bạn sẽ nhớ đến .gitkeep khi cần commit thư mục trống và hiểu thêm vì sao lại dùng bạn ấy nhé. Cơ mà nói chứ bạn sẽ ít xài lắm, vì thư mục có khi nào trống đâu haha.

Happy Coding!

BeautyOnCode.

Please follow and like us:

Leave a Reply

Your email address will not be published. Required fields are marked *

RELATED POST

Gỡ lỗi chương trình

Hôm nay mình muốn nói về “Gỡ lỗi”(Debugging) , một qui trình sửa lỗi trong chương trình phần mềm. (Phần…

Giới thiệu về CLI và các câu lệnh làm việc với file trong Linux

Chào mừng bạn đến với blog số 5 của series “Linux dành cho lập trình viên”. Trong các blog trước, mình…

Basic knowledges about Redis

Introduction & What is Redis? An in memory database stored by key-value, usually use as a database to cache, is…

Chiến lược tải, thực thi code JavaScript

Ba thành phần chính cấu tạo nên một trang web là HTML, CSS và JavaScript.  HTML là ngôn ngữ đánh dấu…