【学习笔记】Git 还原: reset、checkout

最近正在学习git,想要透过把学到的东西写下来,来记录一下自己学到的东西,也方便以後回顾这些知识。
刚开始写这种类似技术性的文章,可能有很多地方写得不好,还请高手们不吝指教。


在修改档案的时候可能常常会有已经暂存、提交的档案,因为种种缘故,又要再重新拿回来修,又或者是推错档案等等,这时候就很需要git的回复功能。
只要档案有加入过commit,那档案都能被还原。

从暂存(stage)中取消

要取消暂存,需要使用git reset的指令。
比如说,有一个A.html被我git add到stage了,我想要将他退回,那我需要在终端机输入git reset -- <档案名称>,这里的状况档案名称就是A.html,使用这个指令後,A.html就会从stage中被退回,回到「已修改,但尚未被git追踪」的状态,可以用git status查看状态。
如果要一次将所有stage的档案退回,可以用git reset .

舍弃变更

如果档案已经修改,但是後来发现还是以前好,想要舍弃变更时,可以使用git checkout -- <档案名称>。使用这个指令就像游戏中读取上一个存档点,会将进度回复到上次储存的地方一样,档案会回复成上次commit的状态。

取消commit

如果已经将档案commit上去,但是後来想想还是回复上一个版本好了,那就可以使用git reset HEAD^git reset HEAD~1,两个功能是一样的,都代表要将commit的版本回复到前一个版本。使用後,原本commit上去的版本会退回到工作资料夹待处理。此时,用git log看提交纪录,也会发现这次的提交纪录不见了。

如果连退回的档案都不需要的话,那可以使用git reset HEAD^ --hard--hard代表在还原过程中,要把档案舍弃。

如果要回复到上上个、上上上个...好几个版本以前的话,可以在HEAD後面处理。例如说,要到上上个版本,输入git reset HEAD^^^^就是两个版本以前的意思。或着也可以输入git reset HEAD~2git reset HEAD^2,波浪符、^後面的数字是要回复到几个版本以前的意思。


<<:  【学习笔记】Git 基础指令及原理

>>:  visual studio dll lib 建立与呼叫

Git
杂谈    

Day27-好用的网页服务器-nginx(三)

前言 昨天的文章讲完前端 Nginx 的写法後,今天就要来进入後端的写法啦!在昨天的小结提到後端的写...

豆技巧到底实用不实用呢?

豆知识是指各种很琐碎、不成系统、缺乏逻辑连贯性的零碎条目知识。 像「随便在自己启动的Thread中更...

day 7 - grpc server 初始 proto测试

我有一个放着很多测试程序的资料夹,每次要用新的套件或测试逻辑的时候, 为了要排除其他影响因素, 我会...

Day25- 如何盘中计算技术指标且发送讯号到line: 成果示范

今天要整合先前所学,使用colab盘中即时计算技术指标,当技术指标达到我们要的条件时,发送讯息到li...

盘点清查与检测扫描 - 资通安全健诊

买啦,哪次不买好买满,都到这最後一步了,能通过稽核就是最终目标! 适用人员: 技术人员 适用法规: ...