跨同源并行Fork的Pull Request处理及cherry-pick工作流咨询
使用
cherry-pick合并指定提交到你的分支 前置准备
- 先把本地
Fork_my的main分支拉到最新:git checkout main git pull origin main - 把
Fork_2添加为本地仓库的远程源(如果还没加):git remote add fork2 <Fork_2的仓库地址> git fetch fork2
具体工作流
方案一:直接在main分支操作(冲突少推荐)
- 切换到
Fork_my:main分支:git checkout main - 逐个挑选目标提交:
git cherry-pick <commit_4的哈希值> git cherry-pick <commit_6的哈希值>遇到冲突时,Git会暂停操作,手动修改冲突文件后,执行:
git add <已解决冲突的文件> git cherry-pick --continue要是不想继续这次操作,直接执行:
git cherry-pick --abort - 所有提交处理完后,推送到远程:
git push origin main
方案二:用临时分支操作(更安全,冲突多推荐)
- 创建并切换到临时分支:
git checkout -b cherry-pick-temp - 执行
cherry-pick并解决冲突(步骤同方案一):git cherry-pick <commit_4的哈希值> git cherry-pick <commit_6的哈希值> - 解决完冲突后,合并到
main分支:git checkout main git merge cherry-pick-temp git push origin main - 可选:删除临时分支
git branch -d cherry-pick-temp
和你之前方法的差异
- 之前的操作会把
Fork_2的所有提交(包括不需要的commit_5)都引入,cherry-pick只精准挑选你要的commit_4和commit_6,避免冗余。 - 不需要创建多轮PR和分支,本地处理完直接推送,流程更简洁高效。
内容的提问来源于stack exchange,提问作者jokob-sk
相关产品推荐
相关产品推荐

