git代码回滚

git回退历史,有以下步骤:

1.已push后回退:
(1) 使用git log命令,查看分支提交历史,确认需要回退版本的
(2) 使用git reset --hard 命令或者git revert ,进行版本回退(此时本地已回退)
(3) 在git commit后,再次使用git push origin <分支名> --force命令,推送至远程分支(此时线上版本已回退)

快捷命令:git reset --hard HEAD^
注:

  1. HEAD是指向当前版本的指针,HEAD^表示上个版本,HEAD^^表示上上个版本
  2. revertreset的区别:
    (1) 在实际生产环境中,代码是基于master分支发布到线上的,会有多人进行提交。可能会碰到自己或团队其他成员开发的某个功能在上线之后有Bug,需要及时做代码回滚的操作。
    在确认要回滚的版本之后,如果别人没有最新提交,那么就可以直接用reset命令进行版本回退,否则,就可以考虑使用revert命令进行还原修改,不能影响到别人的提交
    (2) reset命令会把要回退版本之后提交的修改都删除。要从第三次修改回退到第一次修改,那么会删除第二、三次的修改。【注:这里并不是真正的物理删除】
    如果发现第二次修改有错误,想要恢复第二次修改,却要保留第三次修改,使用revert命令,其产生了新的commit_id

2.提交到暂存区后(执行git add后)回退:
git reset HEAD 命令撤销提交到暂存区的内容,再使用git checkout -- 命令,来清空工作区的修改

3.工作区(执行git add前)回退:
git checkout -- 命令,来清空工作区的修改

4.参考链接:
参考文章

你可能感兴趣的:(git,git)