关于git回退版本的一点心得
我由于开发中不小心在master分支上开发,忘记了切换分支,最后我直接在master分支上提交,push,在开发分支上merge了master分支。
然后,同事告诉我他的代码要准备上线了,然而我的代码还没测试通过肯定不能一起上线,于是,需要回退了。
平时项目中很少用到回退功能的,一直没有怎么尝试过git reset 和git revert的区别,记忆也不深刻。
这次主要使用git reset。
$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard commit_id 退到/进到 指定commit_id
$ git push --force 强制推送到远程,千万不要拉取,否则又会把最新提交拉下来
git reset --hard在master回退到之前的某个版本之后,后面的提交记录则都消失了,是完全回退到当时提交的模样。而开发分支上之前合并的master分支的内容是不会跟着回退的,还是最新修改好的代码,可以继续在这基础上开发、测试。
git reset其他用法体验:
【git reset是不会生成新的提交的,git revert会生成新的提交。】
1、
git reset --mixed
当前head指针指向回退到的提交记录上,后几次提交改变的文件放在了本地暂存区,


git push

此时提交会提示本地代码比远程的落后,push失败,改为git push --force 强制push, 会提示不允许强制push
git push --force

解决办法如下:
然后强制push成功:

此时代码已变为第二次提交时的两个文件了:


提交记录也恢复到了前两次提交。
git log可以查看当前存在的两次提交记录,git reflog可以查看所有提交记录:


2、
git reset --soft 第四次提交的commit

文件全部恢复,本地暂存区有记录。
3、
git reset --hard 第二次提交的commitid

git revert
git revert 第三次提交的commitid git push


revert的结果是:只是把那一次的修改的东西删除了,这里只是把第三次提交增加的3.txt删除了,并且会增加一条提交记录。
关于git回退版本的一点心得的更多相关文章
- git回退版本: 回退本地代码版本 + 回退服务器代码版本
1.回退本地代码版本 借助IDEA开发工具回退版本,点击Version Control ,查看历史版本号: 右击想要回退的版本号,选择Reset Current Branch hear... 选择 H ...
- git 回退版本
回滚到指定的版本 git reset --hard e377f60e28c8b84158 强制提交 git push -f origin master
- git回退版本,已经commit过的文件丢了
参考:https://blog.csdn.net/qq_33877149/article/details/79705611 可以用 git reset --hard fa8694b 回退到以上相应的位 ...
- git回退版本,再返回最新分支git pull失败的解决经验
点击"蓝字"关注我吧 作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述 一篇解决gti分支切换问题的文章,大家应该都有过 ...
- Git回退到服务器某个版本正确姿势
背景: Git协作中,成员不可避免地会提交一些错误的版本,由于Git相比SVN引入了本地仓库,操作会相对复杂,以下为姿势分解 找一个源文件RspUtils.java,加上一行注释 //测试回退git服 ...
- Git(时光机-版本回退)
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...
- git reset 版本回退
git log 查看所有提交信息. commit 67692318180bed6b2a17db0708cfbe0231e33db3 (HEAD -> master) Author: kingBo ...
- Git学习--版本回退
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...
- git远程版本回退
本文为博主原创,未经允许不得转载: 之前在git提交版本时,发现将新开发的代码提交到了另一个分支上,为了不影响提交分支代码的 功能,需要回退到之前的版本. 在使用命令回退的时候,一直没有回退成功,有个 ...
随机推荐
- bayaim_当前国内外Hadoop的实际使用案例
当前国内外Hadoop的实际使用案例 说到Hadoop,很多朋友都想知道到底它是如何被应用的呢?通过下文,笔者就向大家介绍一下具体的情况. 1.Yahoo Yahoo是Hadoop的最大支持者,截至2 ...
- C# Session 操作类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Asp.Net Core 开发之旅之.net core 连接数据库
数据库连接字符串放入配置文件中 打开appsettings.json 添加ConnectionStrings 例子如下: { "Logging": { "IncludeS ...
- Jmeter通过正则表达式获取登录后token
1.引用名称:即参数化,便于后面调用登录后获取的token 2.正则表达式:"token":"([0-9 a-z -]+?)" 3.模板:设置为 "$ ...
- 联邦学习 Federated Learning 相关资料整理
本文链接:https://blog.csdn.net/Sinsa110/article/details/90697728代码微众银行+杨强教授团队的联邦学习FATE框架代码:https://githu ...
- leetcode 树类问题
208. Implement Trie (Prefix Tree) 子节点个数对应的是数组
- MongoDB介绍(一)
MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功 ...
- 动态设置html的font-size值
PC端 (function () { function setRootFontSize() { let rem, rootWidth; let rootHtml = document.document ...
- CF731C Socks
CF731C Socks 洛谷评测传送门 题目描述 Arseniy is already grown-up and independent. His mother decided to leave h ...
- NOIP2007 奖学金 结构体排序
是结构体排序的练习题,可供选手们巩固结构体排序的一些相关内容. 关于结构体排序 1.结构体定义 struct student { int num,a,b,c,sum; }p[]; 2.结构体初始化 ; ...