4 phút đọc

Cherry-pick

Cherry-pick

Khi bạn chỉ cần một thay đổi từ nhánh khác chứ không phải cả nhánh, cherry-pick là công cụ đúng.

1. Cherry-pick là gì?

git cherry-pick <hash> lấy diff của một commit cụ thể rồi áp lên nhánh hiện tại, tạo một commit mới (hash khác, nội dung thay đổi giống hệt).

git checkout main
git cherry-pick 9f3a1c2

2. Khi nào dùng?

Use caseMô tả
HotfixÁp commit sửa lỗi sang nhánh release đang chạy
BackportĐưa fix/tính năng về nhánh phiên bản cũ
Nhầm nhánhCommit đúng việc nhưng sai nhánh

3. Conflict và trùng lặp

Conflict xử lý như merge: sửa file → git addgit cherry-pick --continue (hoặc --abort). Cẩn thận: nếu sau này merge cả nhánh nguồn, thay đổi có thể xuất hiện hai lần.

Cách nhớ nhanh

Cherry-pick = hái đúng một quả (một commit) sang nhánh khác. Khác merge/rebase vốn xử lý cả nhánh. Nghĩ tới nó khi cần hotfix hoặc backport.