git reset 和 git revert
问题场景:
git push错误提交时撤销此次错误提交
1.git reset:
原理:
修改head指针位置,将head指针指向之前的某个版本,目标版本
文章图片
使用方法:
- git log 查看版本号,或者gitlab上查看版本号
- git reset --hard 目标版本号(此时本地head指针以指向之前的版本)
- git push -f 提交更改(如果用git push 会报错,因为此时本地代码落后于远程仓库代码,所以用git push -f强推上去)
2.git revert:
原理:git revert主要用于‘反做’某一个版本,常用场景为两次先有后提交‘版本2’和‘版本3’,但是‘版本2’中由于代码问题需要撤销提交,版本3中的提交又要保留。
文章图片
- git log查看版本号
- git revert -n 版本号(此版本号为需要摘除的版本号)
- 出现冲突解决冲突。
- git add . (有冲突时)
- git commit -m
- git push
git revert commitId
2.回滚多次提交
git revert old-commitId^..new-commitId
【git reset 和 git revert】如果我们想把这三个revert不自动生成三个新的commit,而是用一个commit完成,可以这样:
git revert -n old-commitId^..new-commitId
推荐阅读
- 急于表达——往往欲速则不达
- 第三节|第三节 快乐和幸福(12)
- 20170612时间和注意力开销记录
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 对称加密和非对称加密的区别
- 眼光要放高远
- 樱花雨
- 前任
- 2020-04-07vue中Axios的封装和API接口的管理
- 烦恼和幸福