Git cherry-pick nhiều commit

Rate this post

Git có nhiều phương thức giúp bạn merge các commit từ branch khác, bao gồm cả git cherry-pick.

git cherry-pick là gì và khác gì git merge?

Nói ngắn gọn và dễ hiểu, đây là phương thức giúp bạn đưa các thay đổi từ các commit nằm trên một branch khác vào branch của bạn.

Cú pháp thông thường rất đơn giản: git cherry-pick commit_id là làm.

Thông thường nếu git cherry-pick commit bị lỗi (gặp conflict), bạn cần sửa các file đang gặp lỗi, thêm vào commit là sẽ làm thành công.

Sự khác nhau giữa git cherry-pick và git merge

git cherry-pick lấy commit cho vào branch, nhưng không tạo commit merge, trong khi git merge thường tạo ra 1 commit merge.

Theo thói quen công việc, sẽ có nhiều team chọn git cherry-pick, và cũng nhiều team sẽ chọn git merge, các bạn có thể đọc thêm về Làm việc cùng Git Flow.

git cherry-pick nhiều commit

Ta cần lưu ý các cú pháp sau đây nếu muốn thêm hàng loạt commit vào branch.

Nếu muốn thêm 1 vài commit, không liên tục, ta nhập lệnh:

git cherry-pick commit_id1 commit_id2 commit_id3

Nếu muốn thêm 1 loạt commit lần lượt cạnh nhau (ví dụ 5 commit liên tục):

git cherry-pick commit_id1...commit_id5

Tuy nhiên, tình huống này thì commit id đầu tiên không được thêm vào branch. Cách làm tốt hơn là:

git cherry-pick commit_id1^..commit_id5

Như vậy, commit đầu tiên sẽ được tính vào và nằm trong branch bạn đang thêm.

Đọc trên Stackoverflow về tình huống này nhé.

 

Viết một bình luận


Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Gọi tư vấn 0982.90.4343
Chuyên gia về Web
Bài viết liên quan
Gọi file PHP trong WordPress

19/09/2023

Cài đặt và sử dụng WP-CLI trên môi trường Linux
Trên một số môi trường Hosting có thể cung cấp SSH hoặc Terminal access, song không có sẵn WP-CLI để...
Import database MySQL lớn trên môi trường Docker

06/08/2023

Import database MySQL lớn trên môi trường Docker
Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import...

28/01/2023

Hướng dẫn cài đặt php extension mongodb trên Mac OS M1
Khi bạn muốn hỗ trợ MongoDB trên dòng Mac M1, phần cài đặt sẽ cần một chút lưu ý. Hướng...
Git

18/12/2022

Xử lý lỗi Git không thể tiến hành merge do merge.renamelimit
Khi bạn tiến hành merge nhánh phụ vào nhánh chính hoặc lên nhánh production, có thể xung đột xảy ra...