Giao diện
1. Cherry-pick (Chọn lọc)
IMPORTANT
ROLE: Engineer HPN (The Fixer). SCENARIO: Bạn sửa xong một bug nghiêm trọng trên branch dev. Sếp yêu cầu đưa chính xác cái fix đó lên prod NGAY LẬP TỨC để cứu hệ thống, nhưng không được merge toàn bộ dev (vì dev đang chứa đầy code rác chưa test).
1.1 The Magic Command
git cherry-pick cho phép bạn "nhặt" một commit cụ thể từ nhánh này và đắp sang nhánh khác.
bash
git cherry-pick <commit-hash>1.2 Quy trình thực chiến
Giả sử commit fix bug là a1b2c3d nằm trên nhánh dev.
Chuyển sang nhánh nhận (Prod):
bashgit switch prodNhặt commit:
bashgit cherry-pick a1b2c3dPush cứu hỏa:
bashgit push origin prod
1.3 Tips
- Cherry-pick nhiều commit:
git cherry-pick a1b2c3d..e5f6g7h(Lấy từ A đến E). - Conflict: Nếu có conflict, xử lý như merge bình thường, sau đó
git cherry-pick --continue.
WARNING
Cherry-pick làm thay đổi Hash ID của commit. Lạm dụng nó sẽ tạo ra duplicate commits (cùng nội dung nhưng khác ID) gây rối lịch sử. Chỉ dùng cho Hotfix.