Con trỏ đầu trong Git
Git duy trì một biến tham chiếu có tên là HEAD. Và chúng tôi gọi biến này là một con trỏ, vì mục đích của nó là để tham chiếu hoặc trỏ đến một cam kết cụ thể trong kho lưu trữ. Khi chúng ta thực hiện các xác nhận mới, con trỏ sẽ thay đổi hoặc di chuyển để trỏ đến một cam kết mới. HEAD luôn chỉ đến đỉnh của nhánh hiện tại trong kho lưu trữ của chúng tôi. Bây giờ, điều này phải làm với kho lưu trữ của chúng tôi, không phải chỉ mục dàn dựng hoặc thư mục làm việc của chúng tôi.
Một cách khác để nghĩ về nó là trạng thái cuối cùng của kho lưu trữ của chúng tôi hoặc trạng thái được kiểm tra lần cuối và bởi vì đó là nơi kho lưu trữ rời khỏi hoặc trạng thái cuối cùng, bạn cũng có thể nói rằng CHÍNH chỉ đến cha mẹ của cam kết tiếp theo hoặc nó nơi cam kết viết sẽ diễn ra.
Tôi nghĩ rằng một phép ẩn dụ tốt để nghĩ về điều này là đầu phát lại và ghi âm trên một máy ghi băng cassette. Khi chúng tôi bắt đầu ghi âm thanh, băng di chuyển qua đầu và nó ghi vào nó. Khi chúng ta nhấn Dừng nơi dừng đầu ghi đó là nơi nó sẽ bắt đầu ghi lại khi chúng ta nhấn Ghi lần thứ hai. Bây giờ chúng ta có thể di chuyển xung quanh, chúng ta có thể di chuyển đầu đến các vị trí khác nhau, nhưng bất cứ nơi nào đầu được định vị khi chúng tôi nhấn Record một lần nữa, đó là nơi nó sẽ bắt đầu ghi âm.
Con trỏ CHÍNH trong Git rất giống nhau, nó trỏ đến nơi chúng ta sẽ bắt đầu ghi âm tiếp theo. Đó là nơi chúng tôi rời khỏi kho lưu trữ của chúng tôi cho những thứ mà chúng tôi đã cam kết.