• Git版本回退


    版本回退

    当我们在网上下载一个项目下来之后,但是下来下来的项目都是已经完成项目所有功能的,但是你又想从项目刚开始做时看一遍每次push之前完成代码,怎么办呢?碰巧Git提供了一个叫做版本回退的方法,具体怎么实现,请看下面。

    项目下载完成后我们通过git log或者git reflog查看到了项目所有的提交记录,按Q是退出

    从上图可以看出这个项目提交过很多次push,并且最后一次文件更新修改的commit是LICENSE(因为增加(或者修改)了名为这个LICENSE文件,所以我commit 就写LICENSE),那么你如果想将项目所有文件回退到git push之前某个时间提交的文件更新怎么实现呢?

    比如我想回退至push提交名为finished的版本文件,那我应该执行下面

    git  reset --hard  0fd008cff76f63df2f3d9318be3cff734b7602d9    // 升级功能效果立即改变

    git  reset  0fd008cff76f63df2f3d9318be3cff734b7602d9    // 升级功能效果不会改变,可以通过vs code代码工具查看到升级功能中修改增加了哪些代码

    从上图中我们可以看出版本回退成功了,再次打开项目文件夹一看,发现之前的LICENSE这个文件和部分功能文件不见了,因为现在是回退到项目之前提交版本实现的文件。

    git reset --hard HEAD^  //在当前版本回退到上一个版本,上上一个版本就是 HEAD^^

    撤销commit

    一般情况下写完代码后,我们一般这样

    git add . 

    git commit -m "本功能全部完成"

    执行完commit后,你又发现自己commit错了,想撤回commit,怎么办?

    git reset --soft HEAD^

    这样就成功的撤销了你的刚才commit

    注意,仅仅是撤回commit操作(你的git add . 仍然在),您写的代码仍然保留。

    至于这几个参数:
    --mixed
    意思是:不删除工作空间改动代码,撤销commit,并且撤销 git add . 操作
    这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

    --soft
    不删除工作空间改动代码,撤销commit,不撤销git add .

    --hard
    删除工作空间改动代码,撤销commit,撤销git add .

    注意完成这个操作后,所有文件都恢复到了上一次的commit状态。

    顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
    git commit --amend

    此时会进入默认vim编辑器,修改注释完毕后保存就好了。

  • 相关阅读:
    苹果 macOS 安装 Source Code Pro
    C# 中代码执行 ping 操作
    WPF 中 Path 使用虚线
    查看 Java Web 开发环境软件是 32 位还是 64 位
    linux 磁盘io监控
    Linux下系统如何监控服务器硬件、操作系统、应用服务和业务
    ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
    完全卸载oracle11g步骤
    用JDBC连接SQL Server2017数据库
    oracle INS-13001 环境不满足最低要求
  • 原文地址:https://www.cnblogs.com/jing-tian/p/11317388.html
Copyright © 2020-2023  润新知