场景:
从master分支拉取分支 br1, 从分支br1 拉取分支 br2, 后来发现br1开发特性需要废除, 仅适用br2分支特性即可.
解决方案:
一. br2分支commit不多, 直接在master分支 git cherry-pick br2独有的提交即可.
二. br2分支提交较多, git cherry-pick 操作成本略大
1. 适用git diff的方式进行处理
(1). git diff br2 br1 > patch
(2), git checkout br1
(3). git apply patch
(4), 确认不定内容 提交到当前分支即可
若第(3)步失败, 则执行 patch -p1 < patch, 会提示有被修改文件的备份 删除即可.确认文件更新内容
2. 使用 git format-patch 方式
(1). git format-patch -M br1
(2). 按照生成的不定顺序, 依次使用 git am 应用patch内容
这种方式有点类似于直接进行 git cherry-pick的操作, 后续继续找寻直接一个patch的方式.