GIT回退版本的方式(reset+revert)

  1. reset 命令

git log  (先查看版本号,git每一次代码变化都会记录他的版本号)
git reset --hard (版本号)
eg:    git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 

通过reset的方式,把head指针指向之前的某次提交,reset之后,后面的版本就找不到了

GIT回退版本的方式(reset+revert)_第1张图片

提交命令后就会回退到版本一,版本二和版本三就会消失。

1.hard mixed soft 的区别

  1. reset --hard (危险慎用

hard : 将指定 commit id 撤回并清空工作目录及暂存区所有修改;远程仓库会回退到版本一 , 同时工作区暂存区都会被重制

  1. reset --mixed(默认)

mixed : 将指定 commit id 撤回之后所有内容全部放进工作区中。

  1. reset --soft

soft : 将指定 commit id 撤回之后所有内容全部放进暂存区

GIT回退版本的方式(reset+revert)_第2张图片

2.revert

这种方式不会把版本往前回退,而是生成一个新的版本。所以,你只需要让别人更新一下代码就可以了,你之前操作的提交记录也会被保留下来

GIT回退版本的方式(reset+revert)_第3张图片
git log  (先查看版本号,git每一次代码变化都会记录他的版本号)
git revert -n(版本号)
示例: git reset revert -n 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 
git commit -m xxxx 提交
4、git push 推送到远程

生成的版本四代码与版本一的代码是一致的。通知一下别人把代码拉一下,同步到版本四,就相当于回退到版本一了。版本二和版本三的记录都还在。

附上Git 例子学习网站:https://learngitbranching.js.org/

你可能感兴趣的:(开发工具问题集锦,bash,git)