额哼(咳嗽)。。。
搞一下
回滚分为两种
1. 本地回滚
2. 远程回滚
1.本地回滚,且保留之前修改的代码(commit了但没有push推送)
通过vsCode git可视化实现的,下次就做vscode git可视化教程
2.远程回滚(已经push了,远程分支上也有提交记录了)
2.1 git reset --hard 目标版本号(你要回滚到的那个版本号,要去到的版本号)
git reset --hard 26fb7f6706a49092ccd1dec22ad1b8be81f8dff7
如图则回滚成功
head指向push之前的这个版本(或者说是你想要跳转到的这个版本)
但注意,到目前为止,这些操作还仅仅是在本地
想要修改远程还需要push推送
但push会报错,因为本地版本落后于远程版本
这个时候需要强制推送
git push -f
出现
则是推送成功,这个时候看看远程,之前的那个版本是不是已经消失了
但这种强制推送要慎用,如果没有搞清楚这个历史关系,目标关系,很可能一下子回滚到侏罗纪,到时候再找回就麻烦了
最保险,而且留下记录的回滚是接下来的这种办法
2.2 git revert 目标版本号 (刚刚push上去,或者说你想要移除的这个版本,即出错的版本,你不想要它(PS:当然,也适用于其他场景,这个是新手向))
git revert 8e6eec20547aa093617ae1e3e8da1f94ca8f0fd7
(这个是参考视频截图,刚刚执行的那个终端已经翻不出来了)
出现当前代码即为 revert 成功
点击键盘 I(i) 键
出现
开始编辑
修改
之后 Esc 键退出
后输入
:wq
回车
出现类似以下代码即为成功
同样,这些改动依旧是在本地,依然需要push推送 只不过普通推送即可
查看git lab,错误提交的那次历史也保留了下来,不过经过revert回滚,代码与历史的那次代码相同
这次讲解是真的细,也是真的慢,敲了一个小时,不过可以帮助到新人我很开心,因为再牛逼的程序员也是新人慢慢过来的,有迷茫,有难过,但是要加油哦~❤