场景:
由于B系统的git仓库是从A的主分支拉取创建,且时间较早。担心遗漏某些功能。所以需要将A的pre分支代码合并到B系统
A系统仓库:kmssclient/pre
B系统仓库:internetAgency-web/xjke_20221206_A系统pre代码合并 ( 新创建一个分支用于合并 )
一、查看A系统仓库地址
// 进入龙易保项目使用以下命令查看仓库地址
git remote -v
// 获得结果:
origin http://***.***.***.***/ecom/kmssclient.git (fetch)
origin http://***.***.***.***/ecom/kmssclient.git (push)
二、将A系统仓库的地址添加到B系统本地的远程仓库中
// 进入B系统,git remote add 仓库名称 仓库地址
git remote add lyb http://***.***.***.***/ecom/kmssclient.git
三、拉取远程分支的更新到本地仓库
//git fetch 仓库名称
git fetch lyb
四、按commit记录进行代码合并
// 切换到"xjke_20221206_A系统pre代码合并"分支
// 使用 git cherry-pick <commit_id> 或者 git cherry-pick A..B进行合并。可以合并从A到B的所有提交。(A、B为commitId)
// 注意:它们必须按照正确的顺序放置:提交 A 必须早于提交 B,否则命令将失败,且不会报错。
git cherry-pick 7ab868ede526bfe6e2fe66037a8444a50d204263
或者
git cherry-pick 7ab868ede526bfe6e2fe66037a8444a50d204263..ea46e812f05c762a44eaf2c96fd80c4d2e4f21ee
// 使用A..B时有代码冲突的话处理完需要执行一下 git cherry-pick --continue才会继续往下走
执行 git cherry-pick --continue
五、合并完成删除lyb仓库
git remote rm lyb