Liên kết các đối tượng:
Git hoạt động chủ yếu với các đối tượng Git và con trỏ của chúng. Đối tượng Git là các file được lưu trữ trong hệ thống file có địa chỉ theo nội dung. Hàm băm SHA-1 gồm 40 ký tự, được gọi là con trỏ, được tính toán cho từng hàm trong số chúng và nó được sử dụng cho nhiều mục đích. Git sử dụng nó để so sánh thay đổi nhanh chóng, truy xuất nhanh từ hệ thống tệp và liên kết đối tượng.
Có ba loại đối tượng Git cơ bản:
• Blob: Một file chứa tệp thực (File dự án của bạn).
• Tree: Một file chứa danh sách các con trỏ đến các đốm màu (file) hoặc cây con (thư mục con) khác.
• Commit: Một file chứa:
- Con trỏ đến cây Git, là snapshot của tất cả các file tại thời điểm commit
- Ngày và giờ commit
- Con trỏ đến commit của gốc
- Con người có thể đọc được thông điệp commit
- Dữ liệu về tác giả và người commit
Git làm cho các con trỏ thân thiện hơn với con người bằng cách sử dụng hàm băm một phần. Để xác định một đối tượng Git, hàm băm một phần phải là duy nhất và bao gồm ít nhất bốn ký tự bắt đầu của hàm băm ban đầu. Trong tất cả các ví dụ, bạn sẽ thấy 5 thay vì các mã băm dài 40 ký tự, thường là đủ và làm cho ví dụ dễ đọc hơn.
Snapshot là một đối tượng cây Git chứa các con trỏ của tất cả các tệp dự án được theo dõi bằng Git. Nó có thể được sử dụng để tạo lại thư mục làm việc và khám phá những thay đổi giữa các lần commit.
Mỗi lần bạn tạo một commit, con trỏ của commit trước đó được lưu trữ dưới dạng con trỏ mẹ. Cuối cùng, bạn xây dựng một chuỗi dài các commit được gọi là một nhánh. Commit ban đầu không có nguồn gốc, commit bình thường chỉ có một cha mẹ và commit, kết quả từ sự hợp nhất của hai hoặc nhiều nhánh, có nhiều cha mẹ.
Bạn có thể kiểm tra lịch sử bằng cách sử dụng lệnh git log, lệnh này theo mặc định sẽ liệt kê các commit theo thứ tự thời gian ngược lại. Bắt đầu với commit gần đây nhất, bạn có thể thấy mã băm của nó, tên tác giả và email, thời gian commit và thông báo commit. Lệnh git log được trang bị một số tùy chọn hữu ích mà bạn có thể sử dụng để kiểm tra chính xác những gì bạn cần.
Ví dụ về Snapshot:
Bạn có thể kiểm tra nội dung của commit bằng lệnh git cat-file. Cây Git được liên kết với commit là một snapshot. Đó là cấu trúc con trỏ xác định các file dự án của bạn tại thời điểm chính xác. Git sử dụng nó cho nhiều mục đích, ví dụ, xây dựng lại thư mục làm việc, so sánh và hợp nhất các commit.
Với việc sử dụng lệnh git ls-files, bạn có thể thấy trạng thái hiện tại của thư mục làm việc (--modified) hoặc vùng dàn (--stage) của mình. Bạn có thể thử thay đổi một số file và phân loại chúng. So sánh các hàm băm, bạn có thể thấy rằng chỉ các tệp đã sửa đổi / theo giai đoạn mới có các hàm băm khác nhau, trong khi các tệp chưa được chỉnh sửa khác có cùng các hàm băm. Điều đó có nghĩa là khi commit chỉ một số đối tượng Git mới được thêm vào hệ thống file, đó là đối tượng commit, đối tượng snapshot và các file đã được thay đổi.
Git hoạt động chủ yếu với các đối tượng Git và con trỏ của chúng. Đối tượng Git là các file được lưu trữ trong hệ thống file có địa chỉ theo nội dung. Hàm băm SHA-1 gồm 40 ký tự, được gọi là con trỏ, được tính toán cho từng hàm trong số chúng và nó được sử dụng cho nhiều mục đích. Git sử dụng nó để so sánh thay đổi nhanh chóng, truy xuất nhanh từ hệ thống tệp và liên kết đối tượng.
Có ba loại đối tượng Git cơ bản:
• Blob: Một file chứa tệp thực (File dự án của bạn).
• Tree: Một file chứa danh sách các con trỏ đến các đốm màu (file) hoặc cây con (thư mục con) khác.
• Commit: Một file chứa:
- Con trỏ đến cây Git, là snapshot của tất cả các file tại thời điểm commit
- Ngày và giờ commit
- Con trỏ đến commit của gốc
- Con người có thể đọc được thông điệp commit
- Dữ liệu về tác giả và người commit
Git làm cho các con trỏ thân thiện hơn với con người bằng cách sử dụng hàm băm một phần. Để xác định một đối tượng Git, hàm băm một phần phải là duy nhất và bao gồm ít nhất bốn ký tự bắt đầu của hàm băm ban đầu. Trong tất cả các ví dụ, bạn sẽ thấy 5 thay vì các mã băm dài 40 ký tự, thường là đủ và làm cho ví dụ dễ đọc hơn.
Snapshot là một đối tượng cây Git chứa các con trỏ của tất cả các tệp dự án được theo dõi bằng Git. Nó có thể được sử dụng để tạo lại thư mục làm việc và khám phá những thay đổi giữa các lần commit.
Mỗi lần bạn tạo một commit, con trỏ của commit trước đó được lưu trữ dưới dạng con trỏ mẹ. Cuối cùng, bạn xây dựng một chuỗi dài các commit được gọi là một nhánh. Commit ban đầu không có nguồn gốc, commit bình thường chỉ có một cha mẹ và commit, kết quả từ sự hợp nhất của hai hoặc nhiều nhánh, có nhiều cha mẹ.
Bạn có thể kiểm tra lịch sử bằng cách sử dụng lệnh git log, lệnh này theo mặc định sẽ liệt kê các commit theo thứ tự thời gian ngược lại. Bắt đầu với commit gần đây nhất, bạn có thể thấy mã băm của nó, tên tác giả và email, thời gian commit và thông báo commit. Lệnh git log được trang bị một số tùy chọn hữu ích mà bạn có thể sử dụng để kiểm tra chính xác những gì bạn cần.
Ví dụ về Snapshot:
Bạn có thể kiểm tra nội dung của commit bằng lệnh git cat-file. Cây Git được liên kết với commit là một snapshot. Đó là cấu trúc con trỏ xác định các file dự án của bạn tại thời điểm chính xác. Git sử dụng nó cho nhiều mục đích, ví dụ, xây dựng lại thư mục làm việc, so sánh và hợp nhất các commit.
Với việc sử dụng lệnh git ls-files, bạn có thể thấy trạng thái hiện tại của thư mục làm việc (--modified) hoặc vùng dàn (--stage) của mình. Bạn có thể thử thay đổi một số file và phân loại chúng. So sánh các hàm băm, bạn có thể thấy rằng chỉ các tệp đã sửa đổi / theo giai đoạn mới có các hàm băm khác nhau, trong khi các tệp chưa được chỉnh sửa khác có cùng các hàm băm. Điều đó có nghĩa là khi commit chỉ một số đối tượng Git mới được thêm vào hệ thống file, đó là đối tượng commit, đối tượng snapshot và các file đã được thay đổi.