合并冲突误拒Branch A代码行,如何无需修改Branch B恢复?
恢复合并时误丢失的代码(无需直接修改Branch B)
方案1:在Branch A中触发新提交,重新合并
之前的冲突解决记录会让Git判定Branch A的那两行修改已被Branch B处理,直接合并不会生效。你可以通过微小改动让Git识别为新修改:
- 切换到Branch A:
git checkout BranchA - 找到那两行缺失代码,做无意义的微小调整(比如给某行末尾加个空格再删除,或微调注释格式)
- 提交改动:
git add . && git commit -m "补回之前合并时误丢失的两行代码" - 重新发起Branch A到Branch B的合并请求,Git会识别新修改并将两行代码纳入合并
方案2:用cherry-pick单独提取目标提交到新分支合并
如果那两行代码属于Branch A里的单个提交,可直接提取该提交生成新分支:
- 切换到Branch A,用
git log找到包含目标代码的提交哈希值并复制 - 基于Branch B最新版本创建新分支:
git checkout -b fix-missing-code origin/BranchB - 将目标提交提取到新分支:
git cherry-pick <复制的提交哈希值> - 提交后发起该新分支到Branch B的合并请求,即可单独补回那两行代码
注意事项
- 操作前先拉取最新代码:
git pull origin BranchA和git pull origin BranchB,避免本地代码过时 - 若cherry-pick出现冲突,直接保留需要的那两行代码即可
内容的提问来源于stack exchange,提问作者smonkii
相关产品推荐
相关产品推荐

