Git学习 - Part2(版本回退)

Git学习 - Part2(版本回退)

一、版本回退

  1. 查看历史记录
    git log命令显示从最近到最远的提交日志。
    git log --pretty=oneline可以减少输出信息
    其中输入命令后显示的commit id是版本号。
    同时HEAD表示当前版本,上一个版本就是HEAD^,往上100个为HEAD~100

  2. 版本回退
    git reset --hard HEAD^表示回退到上一个版本
    HEAD^修改为其它commit id即可回退到对应版本
    此时如果想再回到刚刚的版本,由于已经回退,使用git log无法找到刚刚的commit id,因此使用git reflog命令可以记录每一次命令,从而可以找到所需版本的commit id
    由于Git仅仅只是将HEAD指向Git版本 回退的速度非常快。

二、工作区和暂存区

  1. 原理图
    请添加图片描述

    工作区就是电脑中看到的目录
    版本库(Repository),即工作区中的隐藏目录.git
    版本库中包含:

    1. 暂存区(stage)

    2. 第一个分支master以及指向master的指针HEAD(创建Git版本库时,Git自动创建了master分支)

  2. 向版本库添加文件
    第一步:用git add把文件添加到暂存区
    第二步:用git commit把暂存区的所有内容提交到当前分支

三、管理修改

  1. Git管理修改
    Git跟踪管理的是修改而非文件

  2. 查看工作区和版本库里面最新版本区别
    使用git diff HEAD -- readme.txt

四、撤销修改

  1. 修改仅在工作区
    git checkout -- <file>,让这个文件恢复到最近一次git commit或者git add的状态

  2. 修改提交至暂存区
    git reset HEAD <file>,此时把暂存区的修改撤销掉,重新放回工作区
    git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
    随后使用git checkout -- <file>将工作区的修改丢弃即可

  3. 修改提交至版本库
    使用版本回退的操作,即git reset --hard HEAD^
    如果已经提交到远程版本库,则无法撤销

五、删除文件

  1. 工作区删除文件
    使用rm命令删除文件
    rm <file>

  2. 版本库中删除文件
    使用git rm <file>删掉(该命令会同时删除掉工作区和暂存区的文件,所以可省略“工作区删除”这一步。或者不省略上一步,使用git add <file>,因为删除也是一种修改,可以使用git add命令提交修改至暂存区即可删除暂存区中该文件)
    使用git commit提交

  3. 恢复删除文件
    与撤销修改操作相同,删除本质也是一种修改。
    需要注意的是,从未被添加到版本库就被删除的文件是无法恢复的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值