错误修正

git解决错误提交分支

老子叫甜甜 提交于 2019-12-04 01:30:42
[master] ... 0 - (1) - (m1) - 2 - (3) - 4 \ [develop] 5 - 6 - 7 说明: 带括号的都是错误的commit,m1是merge提交,每个数字代表commit和commit号 需要放到develop分支 我的做法(目前看来没问题,不确定是否正确): git checkout master git pull git diff 0 1 > patch1 (这两步的主要想法是物理备份一下,万一改乱了,还有个修改记录) git diff 2 3 > patch2 git revert m1 -m 2 (这样直接会将1 和 m1产生修改的所有文件反转) git revert 3 此时,分支状态是: [master] ... 0 - (1) - (m1) - 2 - (3) - 4 - rm1 - r3 \ [develop] 5 - 6 - 7 然后将错误提交应用到develop上 git checkout develop git pull git cherry-pick 1 git cherry pick 3 (进入merge按照提示解决、继续) 此时分支状态是: [master] ... 0 - (1) - (m1) - 2 - (3) - 4 - rm1 - r3 \ [develop] 5 - 1 - 6 - 7 - 3