Bên trong thư mục .git có gì?
(blog.meain.io)- Giải thích chi tiết về thư mục
.gitđược tạo khi chạygit init - Thư mục
.gitbao gồm nhiều tệp và thư mục nhưconfig,HEAD,hooks,objects,refs- Tệp văn bản
configchứa cấu hình git của kho lưu trữ hiện tại, cùng các thiết lập cơ bản như tác giả và chế độ tệp - Tệp
HEADchứa head hiện tại của kho lưu trữ, trỏ tới nhánh mặc định. Tùy theo nhánh mặc định được đặt là gì mà có thể làmasterhoặcmain - Thư mục
hookschứa mọi script có thể chạy trước và sau các thao tác của git - Thư mục
objectschứa dữ liệu về các tệp và commit của kho lưu trữ - Thư mục
refslưu các tham chiếu hoặc con trỏ trỏ tới nhánh và thẻ
- Tệp văn bản
- Khi một tệp được thêm vào kho lưu trữ, tệp
indexsẽ được cập nhật và các thư mục cùng tệp mới sẽ được thêm vào thư mụcobjects - Tệp mới trong thư mục
objectschứa loại, kích thước và dữ liệu của tệp được thêm vào, còn tên tệp được lấy từ SHA-1 của nội dung - Khi một tệp được commit, nhiều thay đổi sẽ xảy ra như tạo tệp mới tên
COMMIT_EDITMSGchứa thông điệp commit và thêm đối tượng mới vào thư mụcobjects - Trong git, việc tạo nhánh là một quá trình đơn giản gồm thêm một tệp mới trong thư mục
refs/headsvới tên nhánh và ID của commit mới nhất - Việc checkout nhánh bao gồm cập nhật tệp
.git/HEADđể nó trỏ tới nhánh đang được checkout - Việc hợp nhất nhánh có thể được thực hiện theo ba cách:
fast forward merge,rebase merge, hoặc tạo mộtmerge commitriêng - Khi kho lưu trữ được push, toàn bộ nội dung trong thư mục
objectsvà mọi nhánh cùng thẻ dướirefsđược push một cách tường minh sẽ được gửi tới một kho git khác
1 bình luận