Hướng dẫn git cherry-pick
Trường hợp sử dụng? Giả sử bạn có 2 branches khác nhau, branch A và branch B . Và bạn đang fix một bug nghiêm trọng cùng tồn tại trên hệ thống và bạn muốn commit một lần nhưng có thể apply vào luôn cho cả 2 branches. Bạn có thể dùng lệnh cherry-pick của Git để giải quyết, như sau: // Ở ...
Trường hợp sử dụng?
Giả sử bạn có 2 branches khác nhau, branch A và branch B. Và bạn đang fix một bug nghiêm trọng cùng tồn tại trên hệ thống và bạn muốn commit một lần nhưng có thể apply vào luôn cho cả 2 branches.
Bạn có thể dùng lệnh cherry-pick của Git để giải quyết, như sau:
// Ở branch A git add -A git commit -m "Fix typo bug" // Ở branch B git checkout B git cherry-pick A
Cherry-pick sẽ lấy commit cuối cùng ở branch A merge vào branch B. Ngoài ra, bạn còn có thể chỉ định danh sách các commit cần "bốc" từ A để "bỏ" vào B nếu cần thiết.
Định Nghĩa
cherry-pick thực chất là một cách để checkout một commit tại branch nhất định về branch hiện tại. Hay nói một cách dân dã thì cherry-pick dùng để bưng các thay đổi trong một commit trên một nhánh nào đó áp dụng về nhánh hiện tại. vd: Bang dang dung o branch task/user va co commit latest nhu sau. Ban muon checkout commit daf0e220d46dde3d05db0fc631233d1fa72627ee vao branch master.
commit 1200fd18742e2e03d8384e27e88cc7b0bc384018 Author: Long Tran <nhulongctk10@gmail.com> Date: Wed Apr 18 00:26:52 2018 +0700 Update display field for show list, create, update users. commit daf0e220d46dde3d05db0fc631233d1fa72627ee Author: Long Tran <nhulongctk10@gmail.com> Date: Tue Apr 17 00:57:05 2018 +0700 Update path image upload, path response of upload. commit a4ef31ef91b1ace36f4c45f608282cfe4ac4f214 Author: Long Tran <nhulongctk10@gmail.com> Date: Sun Apr 15 21:19:55 2018 +0700 Update reducers of Users commit a7c511e03b428f9fd6902a9e00ca3f7e03b41980 Author: Long Tran <nhulongctk10@gmail.com> Date: Sun Apr 15 19:55:30 2018 +0700 Implement function list, create, edit in page admin Users.
Truoc het bạn cần checkout về nhánh master:
git checkout master
Và sau đó thực hiện việc pick:
git cherry-pick daf0e220d46dde3d05db0fc631233d1fa72627ee
Chi tiết
Để tìm hiểu thêm thông tin về git cherry-pick, mọi người có thể tham khảo thêm tại đây