背景:
支持生产环境的分支长期未更新,后续做了大的新功能直接在此分支上开发了,结果!!中间来了一个小需求,大的功能还没有达到上线条件!直接裂开了.
大致想法:
复制该分支到新分支,在新分支回退到上一次上线的提交commit
顾虑:
reset该分支,其他的分支的内容会被影响吗?如果都消失了,两个月白干了‘—'…问了同事说不影响,但是还是不放心,物理复制了一套代码出来,把git文件也删除了
具体实施:
- 从该分支切换到新分支
git checkout -b f_pro_app
- 创建远程连接
git push --set-upstream origin f_pro_app
- 查看提交记录,找到需要回退到的commit id
git log
- 重点!!!谨慎!!回退到指定 commit
git reset --hard 09fff430c805dec6b8cc62a8blablabla
- 确认回退到了正确的commit id!!!!
- 强推
git push -f
成功了。
回退指定的分支,确实不影响其他分支。