zoukankan      html  css  js  c++  java
  • Git 中撤销修改的场景

    Git中撤销修改的场景

    git中有四个区间来分隔修改记录(注意git存储的修改记录,并不是文件):

    工作区——暂存区(git add 但是未commit的部分)——仓库(已经git commit 的部分)——远程仓库(已经git push的部分)

    1、撤销工作区内容

    当工作区修改需要撤销时:

    a、如果是新增文件,仓库中没有版本记录,即untracked file;

    使用git clean -f 清除;

    1 git clean -f

    b、如果是已经在版本库中存在的文件,使用checkout来检出仓库中版本到工作区

    1 git checkout filename

    2、撤销暂存区内容

    如果已经使用git add 添加到了暂存区,使用reset撤销暂存区

    1 git reset HEAD filename

    3、回退到仓库中上一个版本的提交

    已经提交到仓库的版本也是使用reset来回退,和暂存区的区别就是加了一个--hard参数

    1 # 回退到上一个版本
    2 git reset --hard HEAD^
    3 # 回退到上上个版本
    4 git reset --hard HEAD^^
    5 # 回退到上100个版本
    6 git reset --hard HEAD~100

    4、回退到仓库中指定版本的提交

    使用指定的commit_id回退到指定版本

    1 git reset --hard 777b7eb

    还可以使用revert进行回退:

    1 # 还原到上一个版本
    2 git revert HEAD
    3 # 还原到某个特定的版本
    4 git revert commit_id

    注意:revert和reset的区别在于:revert会生成一个新的commit版本,而reset不会生成新的commit

  • 相关阅读:
    CXF JaxWsDynamicClientFactory 错误:编码GBK的不可映射字符
    关于springboot配置DataSource
    Spring Boot2.0加载多个数据源
    Kettle配置发送邮件
    推荐几个不错的VUE UI框架
    vue基础语法一
    Maven在Eclipse下构建多模块项目过程
    利用eclipse把jar包安装到本地仓库
    设计模式之策略模式
    设计模式之观察者模式
  • 原文地址:https://www.cnblogs.com/Zhanxueyou/p/12807598.html
Copyright © 2011-2022 走看看