个人本地代码回滚:
git reset --hard 需要回滚代码的hash值
git push -f origin develop 提交后回滚的代码将从git上删除,没有回滚代码相关记录信息。
上线前代码回滚:
如果需要回滚的代码不是连续的,可使用git revert回滚需要回滚的提交记录
git revert 需要回滚代码的hash值 回滚后git上依旧保留回滚前的记录信息,指针是没有回滚
上线后代码回滚,
这里以master分支为准
git reset --hard V11 #把本地的分支回退到V11,此时暂存区(index)里就指向V11里的内容了
git reset --soft origin/master #--soft是的本地的master分支的指针重新回到V11
git commit -am "rollback to V11" #把暂存区的内容提交,新生成的commit的内容和V11相同
git push origin master #远端的master也被回滚
以上三种方式没有绝对的绑定关系,还是得以实际情况而操作,第一种方式由于会删除git上的记录,风险较大,使用时需慎重考虑回滚的代码是否无效
网友评论