Git实战指南----跟着haibiscuit学Git(第十一篇)

笔名:  haibiscuit

博客园: https://www.cnblogs.com/haibiscuit/

Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star)

本项目地址: https://github.com/haibiscuit/StudyBook

尊重笔者的劳动成果,未经允许请不要转载

 

十:版本回退

(1) 场景一  撤销工作区文件的修改(即没有git add到暂存区)

方法一:

git checkout -- filename

方法二:

git restore filename

(2) 场景二  撤销暂存区的修改(即你想清空暂存区内容,但对工作区新的修改不造成影响,即只删除暂存区)

方法一:

git restore --staged filename

方法二:

git reset HEAD -- filename

(3) 场景三 暂存区或本地仓库覆盖工作区(即你已经执行git add或commit操作,又对工作区文件修改,但想撤回或放弃对工作区的修改)

方法一:

git checkout -- filename

//等价于git checkout filename

方法二:

git restore filename

(注:以上的两种方式会覆盖工作区文件,但不会删除暂存区的内容)

 

 

(4) 场景四  版本回退

方式一

git reset

git reset --hard HEAD     //本地仓库的当前版本覆盖工作区修改

git reset --hard HEAD^   //本地仓库回退到上一个版本

git reset --hard HEAD~2    //本地仓库回退到上两个版本

git reset --hard HEAD~n    //本地仓库回退到上n个版本

(注:

使用git reset会删除回退指定版本之后的所有版本)

如果想时光倒流,即回到被删除的版本怎么办:

git reflog     //找到想回到的版本

git reset --hard <commit_id>  //回退到被删除的版本

方式二

git revert    //回退到指定版本之前一个的版本,不是会退到指定版本

git revert HEAD     //回退到上一个版本

git revert HEAD^   //回退到上两个版本

git revert HEAD~n   //回退到上(n+1)个版本

 

最后推荐使用git revert方式,并不是像网上说git reset不能用,而是通过git revert重做的方式并不会丢弃重做的版本,更为方便.

原文地址:https://www.cnblogs.com/haibiscuit/p/11986456.html

时间: 2024-10-16 20:17:59

Git实战指南----跟着haibiscuit学Git(第十一篇)的相关文章

Git实战指南----跟着haibiscuit学Git(第九篇)

笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 八:git log (1) 展示历史提交的commit    git log --pretty=oneline --abbr

Git实战指南----跟着haibiscuit学Git(第五篇)

笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 四:多人合作 多人合作的工作流程: 说明: (1) master(当前版本)分支是主分支,因此本地要时刻与远程同步: (2)

Git实战指南----跟着haibiscuit学Git(第八篇)

笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 七:git diff 作用:比较各个分区共同文件的不同(即想要使用该命令,各个分区都要有相同的文件) (1) 展示工作区和暂

Git实战指南----跟着haibiscuit学Git(第十篇)

笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star) 本项目地址: https://github.com/haibiscuit/StudyBook 尊重笔者的劳动成果,未经允许请不要转载 九:git commit --amend 简称:版本替换(对文件进行替换,添加的操作),即替换本地仓库的commit id,

跟着百度学PHP[4]函数篇1-参数

ps:俺的文章俺懂就行.大家不要拿来学习不然每个人的学习思路不一样.看视屏文章的老师不同笔记不同加上我也是新手上路,还怕误导!请大家看行且思考,帮忙挖Bug也可以. 案例要求:你可以写一个两行三列的表格吗?N行N列呢? 我们先来使用php写一个简单的两行三列的表格.(PS:由此引出函数参数的作用) <?php /* *在写的时候建议是成对的写. *比如: for ($i=1; $i <=2; $i++) { $table.="<tr>"; //写完立马写另外一个

跟着百度学PHP[5]函数篇2-PHP中的特殊形式的函数

目录...................................................... .00x1 可变函数 .00x2 回调函数 .00x3  . ........................................................... 00x1 可变函数的使用 在PHP里面如果说将“函数名称”赋予字符串类型的变量.在调用这个变量的时候如果使用带有小括号,那么PHP就会将该作为函数解析.这就叫可变函数. 注:可变函数不可以用于echo,p

跟我学SpringCloud | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪

SpringCloud系列教程 | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如无特殊说明,本系列教程全采用以上版本 在分布式服务架构中,需要对分布式服务进行治理--在分布式服务协同向用户提供服务时,每个请求都被哪些服务处理?在遇到问题时,在调用哪个服务上发生了问题?在分析性能时,调用各个服务都花了多长时间?哪些调用可以并行执行?-- 为此,分布式

【转】git - 简明指南

git - 简明指南 助你入门 git 的简明指南,木有高深内容 ;) 作者:罗杰·杜德勒 感谢:@tfnico, @fhd 和 Namics其他语言 english, deutsch, español, français, indonesian, italiano, nederlands, polski, português, русский, türkçe, ??????, 日本語, ??? Vietnamese 如有纰漏,请在 github 提报问题 安装 下载 git OSX 版 下载

Git使用指南

不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入"查阅过很多资料,依然掌握不好"的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把整个知识结构串起来.通读<git权威指南>是可行的,只是大家都急着用,没那耐性.我这里熬一碗鸡汤,整理供大家享用. 一.安装 服务器端不展开,因为主要面向搬砖的码农. 客户端可参见大神 廖雪峰 的Git教程-安装git 需要特别说明的是,在windows中,msysgit才是真