首页 > 其他分享 >Git的版本回退

Git的版本回退

时间:2023-02-08 20:35:12浏览次数:37  
标签:git 回到 Git 指令 版本 回退 commit

Git 的版本回退操作

 

内容介绍:

一、时光穿梭机-版本回退

二、查看版本,确定需要回到的时刻点

三、回退指令:

 

 

  1. 时光穿梭机-版本回退

当把git从仓库的指令用熟之后,就可以发现一个有趣的知识。

 

  1. 介绍:
    因为它可以看作在开发这个里面的一个后悔药。在写代码时,难免会出一些差的,导致想回到以前,但是在写代码的时候,如果用了git,那这个就是可能的。

即便把代码误删了,或者误修改了,都是可以,是可以用时光机回到以前的。

版本回退分为两步骤进行操作

 

2、步骤:

①查看版本,确定需要回到的时刻点

指令:  

git log

git log--pretty=oneline 查看时间点(日志)这里推荐用此种。

 

②回退操作

指令:Git reset-hard提交编号

 

二、查看版本,确定需要回到的时刻点

分别运行查看版本的两种指令:

第一种指令,git log:

此指令将会把以前的操作一一列举出来,这里

commit7c1eadd313d1d5d68a82fc933d0a7425f5803407(HEAD->master) 此指令很重要,为某一时间点操作的序号,通过特殊的编码为此字符串。(HEAD->master)为当前最新状态。找到之前的时间点进行穿梭。

 

第二种指令:git log--pretty=oneline

 

两种指令执行的显示效果不同。只显示commit id 和注释(很重要,一定要写)

两种方法,因情况而定。但最终得到的都是commit ID。但第二种方式更加简便。

 

三、回退指令

Git reset-hard提交编号(为第一步的commit Id)

案例:

想做时光机回到创建好第一个文件readme.txt 的时候。

复制commit id(注意需要鼠标右键复制)

 

 

此时没有执行注意文件内容:

 

执行后文件内容,回到了最初的状态:

回到过去的任务已经完成需要过去的代码可复制查看。

 

四、回到将来

进行查询信息

但是发现只显示一个版本号。(注意:此指令只显示当前的版本号)

由于我们打开窗口,以上会显示之前操作后的版本号,但是关闭窗口后以前的版本号将会消失。

 

注意:

回到过去之后,想要再回到之前最新的版本号的时候,则需要使用指令去查看历史的操作,已得到最新的comment ID

指令:git reflog

操作:

可以看到回到过去的指令和ID号

 

注意

7cleadd 也是commit id 亦可以运用讲讲其复制。运行结果

 

查看文件内容

回到之前的文件,回到将来。

回到过去,未来指令完成。要想回到某一时间点,也是相同的操作。

 

小结

a.要想回到过去,必须先得到commit id,然后通过git reset-hard进行回退:

b要想回到未来,需要使用git reflog进历更操作查看,得到最新的commit id,

c.在写回退指令的时候commit id可以不用写全,gt自动识别,但是也不能写太少,至少需要写前4位字符.

这样,结合前面的两种指令就可以在版本的记录里面来回穿梭。

不是必须用尽量不用。

 

标签:git,回到,Git,指令,版本,回退,commit
From: https://www.cnblogs.com/woodx/p/17103192.html

相关文章

  • Kaggle入门预测赛,手写数字识别Digit Recognizer,使用Kaggle kernel作答,F=0.98
    1、问题和描述直接在kaggle左边的competition竞赛中搜索DigitRecognizer即可进入赛题页面:​​​https://www.kaggle.com/c/digit-recognizer/overview/description​​这......
  • git常用命令
    1.常用基础命令gitcloneurl  从服务器上将代码给拉下来gitpull 本地与服务器端同步gitlog查看提交日志gitbranch 查看本地所有分支gitbranch-r查看远......
  • MySQL中sp运行check表版本更新流程解析
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:wuyy文章来源:GreatSQL社区原创目录......
  • Solon 在 jdk 各版本反射权限问题的处理指南
    jdk17如果出现反射权限问题。可添加jvm参数:--add-opens(取消了illegal-access参数)#示例:java--add-opensjava.base/java.lang=ALL-UNNAMED-jarxxx.jar#示例:(添加......
  • centos7升级git
    移除旧版本sudoyumremovegitsudoyumremovegit-*添加EndPointPackageRepository在 CentOS7 上安装新版本 Git 最快的方法是通过 EndPoint 库。s......
  • Linux之Centos7内核版本升级
    参考文档https://blog.csdn.net/carefree2005/article/details/1148198851、内核升级步骤1)、查看可升级版本使用命令yumlistkernel可以查看已安装的内核版本和可以升级......
  • oracle回退表数据
    开启闪回,如果不开启无法进行闪回altertabletable_nameenablerowmovement;闪回表数据到某个时间点flashbacktablettable_nameestfbtotimestampto_timestamp('2023......
  • Linux上git pull等操作需要每次都输入用户名和密码等问题
    在linux上拉取项目代码后,发现每次gitpull都需要输入用户名和密码,设置全局的都没有用,终于找到解决方法,直接用以下的命令即可。gitconfig--globalcredential.helpersto......
  • GitLab用户权限管理
    GitLab用户权限管理:GitLab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner1.Guest:可以创建issue、发表评论、不能读写版本库2.Reporter:可以克隆代码,不......
  • 查看chrome & Chromium 详细版本、安装路径、用户路径
    在浏览器地址栏直接输入:chrome://version/ -  -参考:https://www.jb51.net/article/204348.htm......