4 phút đọc

Detached HEAD

Detached HEAD

Detached HEAD hay làm người mới hoảng vì Git in một cảnh báo dài. Hiểu nó là gì sẽ giúp bạn bình tĩnh xử lý.

1. Detached HEAD là gì?

Bình thường HEAD trỏ tới một tên branch, branch đó mới trỏ tới commit. Detached HEAD là khi HEAD trỏ thẳng tới một commit cụ thể, không qua branch nào.

Bạn rơi vào trạng thái này khi git checkout (hoặc git switch --detach) tới một mã hash, một tag, hay một commit cũ:

git checkout a1b2c3d        # trỏ thẳng tới commit → detached HEAD
git switch -                # quay về branch cũ

2. Vì sao cần chú ý?

Nếu bạn commit khi đang detached, các commit đó không thuộc branch nào. Khi bạn chuyển đi branch khác, chúng dễ bị "mồ côi" và bị Git dọn rác sau này.

Muốn giữ lại, hãy tạo branch ngay tại đó:

git switch -c ten-branch-moi

Cách nhớ nhanh

Detached HEAD = HEAD trỏ thẳng commit, không trỏ branch. Commit ở đây dễ mất → nếu muốn giữ, git switch -c <branch> để gắn vào một branch.