多分支的代码库,经常需要将不同分支的变更进行合并。
假设branchA分支有以下提交记录:
[yz@test test]$ git log # branchA commitid1 commitid2 commitid3 commitid4
现有以下不同需求:
假设,需要将 branchA 的 commitid2,合并到 branchB,则:
git checkout branchB git cherry-pick commitid2
假设,需要将 branchA 的 commitid3和commitid1,合并到 branchB,则:
git checkout branchB git cherry-pick commitid3 commitid1
注:请按提交顺序排列commit id。
假设,需要将 branchA 的 commitid3 至 commitid1多个连续commit,合并到 branchB,则:
git checkout branchB git cherry-pick commitid4..commitid1
注:
cherry-pick可能会发生冲突,此时需要手动处理冲突内容。