tác giả nguyên gốc tiếng Anh: Mark Lodato
Dịch tiếng Việt: Lê Hoạt
Chú giải: cuong@techmaster.vn
Bốn lệnh trên sao chép các tệp tin giữa thư mục làm việc (working directory), vùng chuyển tiếp (stage) - hay còn gọi là chỉ mục (index) và lịch sử (history) (dưới dạng các "commit").
3 tầng lưu trữ khác nhau:
Working Area
+
|
v
Staging Area
+
|
v
.git repo
Thanh niên
+
|
v
Quân dự bị
+
|
v
Lính thường trực chuyên nghiệp
Sản phẩm đang lắp ráp
+
|
v
Qua kiểm thử
+
|
v
Lưu kho
Các commit được biểu thị bằng màu xanh có các id là 5 ký tự và chúng trỏ tới commit cha. Các nhánh (branch) được biểu thị bằng màu cam và chúng trỏ tới các commit cụ thể. Nhánh hiện tại được xác định bằng tham chiếu đặc biệt HEAD được "gắn (attached)" vào nhánh đó. Trong hình này, có 5 "commit" mới nhất được hiển thị, trong đó ed489 là commit mới nhất. Nhánh master (nhánh hiện tại) trỏ tới commit này, trong khi đó nhánh maint (một nhánh khác) trỏ tới "commit" tổ tiên (ancestor) của "commit" trên nhánh master
git checkout FixBug
git checkout master
branh đang làm việc (checkout) là FixBug
branh đang làm việc (checkout) là master
Khi bạn "commit", git tạo một đối tượng "commit" mới sử dụng các tệp tin từ khu chuyển tiếp và đặt "commit" hiện tại làm cha. Sau đó nó trỏ nhánh hiện tại tới "commit" mới này. Trong hình dưới đây, nhánh hiện tại là master. Trước khi lệnh được chạy, master trỏ tới ed489. Sau đó một "commit" mới, f0cec, được tạo với cha là ed489, và cuối cùng master được dịch chuyển đến "commit" mới.