Các điểm Head chỉ ra commit cuối cùng tại các chi nhánh bạn đang làm việc. Nó giống như một con trỏ đến bất kỳ tham chiếu nào. HEAD có thể được hiểu là “nhánh hiện tại .” Khi bạn chuyển chi nhánh bằng ‘checkout, HEAD sẽ được chuyển sang nhánh mới.
Hình trên cho thấy HEAD tham chiếu đến commit-1 vì quá trình ‘checkout’ đã được thực hiện tại commit-1. Khi bạn thực hiện một commit mới, nó sẽ chuyển sang commit mới hơn. Lệnh git head được sử dụng để xem trạng thái của Head với các đối số khác nhau. Nó lưu trữ trạng thái của Head trong thư mục .git \ refs \ heads . Hãy xem ví dụ dưới đây:
Nội dung chính
1. Git Show Head
Các git show head được sử dụng để kiểm tra tình trạng của Head. Lệnh này sẽ hiển thị vị trí của Head.
Cú pháp:
git show HEAD
Đầu ra:
Trong đầu ra ở trên, bạn có thể thấy rằng id commit cho Head được đưa ra. Nó có nghĩa là head có commit nhất định nào đó.
Bây giờ, hãy kiểm tra lịch sử commit của dự án. Bạn có thể sử dụng lệnh git log để kiểm tra lịch sử commit. Xem kết quả bên dưới:
Như chúng ta có thể thấy trong đầu ra ở trên, id commit cho commit gần đây nhất và Head là giống nhau. Vì vậy, rõ ràng là commit cuối cùng có head.
Chúng ta cũng có thể kiểm tra trạng thái của Head bằng id commit. Sao chép id commit từ đầu ra ở trên và dán nó bằng lệnh git show . Kết quả của nó giống như lệnh git show head nếu id commit là id của commit cuối cùng. Xem kết quả bên dưới:
Đầu ra ở trên giống như đầu ra git show.
HEAD có khả năng tham chiếu đến một bản sửa đổi cụ thể không gắn với tên nhánh. Tình huống này được gọi là HEAD tách rời.
2. Git tách rời head
GitHub theo dõi tất cả các commit hoặc ảnh chụp nhanh theo thời gian. Nếu bạn kiểm tra ‘git log’ trong terminal của mình, bạn có thể hiển thị tất cả các commit trước đó cho đến commit đầu tiên. Chế độ HEAD tách rời cho phép bạn khám phá trạng thái cũ hơn của kho lưu trữ. Đó là một trạng thái tự nhiên trong Git.
Khi Head không trỏ đến commit gần đây nhất, trạng thái như vậy được gọi là Head tách rời . Nếu bạn checkout với một commit cũ hơn, nó sẽ đứng trong tình trạng head tách rời. Xem ví dụ dưới đây:
Tôi đã sao chép id commit cũ hơn. Bây giờ tôi sẽ checkout với id này.
Như bạn có thể thấy trong ví dụ đã cho, Head không chỉ ra commit gần đây nhất. Nó được gọi là trạng thái head tách rời. Nó luôn được khuyến khích là không commit trên head tách rời.
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
- Full series tự học Git từ cơ bản tới nâng cao tại đây nha.
- Ebook về Git tại đây.
- Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!