有的时候我们提交了代码后,发现有些问题,需要版本回退(代码回滚)。本地版本回退
查询提交记录
git reflog
红色区域部分就是你每次提交的commit-id。
版本回退
git reset --hard commit-id //回滚到commit-id,讲commit-id之后提交的commit都去除
git reset --hard HEAD~3 //将最近3次的提交回滚
远程版本回退
原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支
git checkout the_branch
git pull
git branch the_branch_backup //备份一下这个分支当前的情况
git reset –hard the_commit_id //把the_branch本地回滚到the_commit_id
git push origin :the_branch //删除远程 the_branch
git push origin the_branch //用回滚后的本地分支重新建立远程分支
git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支
工作流
git add -A
git commit -m "bug"
git checkout develop
git fetch origin
git merge origin/develop
git merge feature-bug-less
git push origin develop
git checkout feature-bug-less
git fetch origin
git merge origin/master
git push origin feature-bug-less