平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“git版本回退or回滚实现方法方式”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
版本回退
- 原理:在这个场景下,git reset作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本
- 适用场景:理解这一步时,若想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就能够用这种方法。
第一步
git log 查看历史提交版本
git log

第二步
git reset --hard 版本号 命令将版本回退
git reset --hard 版本号

第三步
git push -f 提交更改
git push -f
版本回滚
- 原理:在这个场景下,git revert是用来“回滚”某一个版本,以达到撤销该版本的修改的目的。revert 后生成了一个新的版本
- 适用场景:在这个场景下,若我们想撤销之前的某一版本,但是又想保留该版本后面的版本,就能够用这种方法。
第一步
git log 查看历史提交版本
git log
第二步
理解这一步时,采用“git revert -n 版本号”回滚,同时采用“git commit -m 版本名”提交
(1)回滚,采用“git revert -n 版本号”命令
git revert -n 版本号
(2)注意:这里可能会出现冲突,需手动修改冲突。而且要git add 文件同时且添加commit
git add .
git commit -m "XXXX"
第三步
git push 提交代码
git push
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。
- git如何回退已提交的代码中的指定文件
- Git本地操作进阶之版本回退,撤销修改与文件删除全攻略
- Git中代码回退的完全指南
- IDEA实现回退提交的git代码(四种常用场景)
- git回退commit并删除远端提交记录方式
- git版本回退方式(git reset、git revert、git stash)
- Git版本回退之reset和revert采用详解
- Git回退(Revert)操作后无法重新合同时的问题及解决