Git 选择合并

假定我们遇到这样一种情况:分支 A 上有若干次提交记录,但是分支 B 只需要合并分支 A 中的几次提交记录,该怎么合并呢?

答案是用「cherry-pick」命令。

假定在分支 A 中有以下提交记录:

57cfbab006a50edfb73a6a76a11509a2781456cb commit 8  
846d6a9e61de0ed8649c5854473e7b7f5fa446c0 commit 7  
4c705733f15ed1fcf304bc5db0c06cf0fb857671 commit 6  
81a3dbc2de860a0757022354e935389fc0e54ff1 commit 5  
a0a62a8b7d264576ebe2cd1526ff61a437929bd8 commit 4  
bfa62a93b097af8cb100cabea5a2de02ab17d93a commit 3  
2d2fb07a2b368bd5dced49bacae77b8dad8702b1 commit 2  
52c360328227397d9a0a46bcb6612ce1e88a1ca1 commit 1  

分支 B 需要合并第1、3、5次提交,则使用命令:

# 先切换到分支 B
git checkout branchB

# 进行选择合并
git cherry-pick 52c36032  
git cherry-pick bfa62a93  
git cherry-pick 81a3dbc2  

如果这些分支之间有冲突的话,要先进行冲突处理,之后就可以将分支 B 的内容推送到远程仓库之中。

Show Comments