需求
假定你有一个分支dev1,你对他提交了8次commit。然后你先回退到之前第5次commit,但是又不想丢弃之后的678commit。
一个思路
这里提供一个思路,在commit8的时候,重新拉一个分支dev2,然后把dev1(commit8时候的代码)整个merge到dev2里。
然后在dev1 上 rest --hard commit5,然后push -f。
这样一来,你就有两个分支
dev1:停留在commit5上
dev2:停留在commit8上
另一个思路
先把dev1 复制一份叫dev2
然后把dev1 回退到 commit5
复制的代码见:
Git-复制原分支代码到新分支
回滚分支
-- 本地分支回滚到指定版本
git reset --hard <commit ID号>
-- 强制推送到远程分支
git push -f origin <branch name>