git中如何把代码回退到上一个版本

git当中, 有两个指令可以产生回退的效果.

第一个是,  git reset --hard HEAD^

第二个是, git restore -- readme.txt

下面, 挨个来说.

1. git reset --hard HEAD^

该命令的作用是, 重置它影响区域下的所有提交效果.

即, 它所影响的区域, 全部回退, 撤销提交, 取消修改.

该命令影响的区域有三个: 本地仓库, 暂存区, 工作区.

工作区的修改, 工作区提交到暂存区的代码, 暂存区提交到本地仓库的代码, 全部都会回退.

现在执行        git reset --hard HEAD^

实验表明.

工作区中的修改,  可以回退;

工作区 提交到 暂存区, 可以回退;

暂存区 提交到 本地仓库, 可以回退;

如果是 工作区, 暂存区, 本地仓库 这三个区域的 回退操作, 都可以执行这条命令.

但是 远程仓库 这条命令它管不着.

补充:

git reset --hard HEAD^      表示回退1次.

git reset --hard HEAD~2         表示回退2次.

git reset --hard HEAD~3         表示回退3次.

你想回退几次, 就把它改成你想要的数字.

2. git restore -- 文件名

该命令的作用是, 恢复工作目录中的指定文件到最后一次提交状态.

即, 取消你工作区的修改.

它能力很小, 只能影响工作区, 但凡代码被提交到暂存区, 它都不能回退.

接下来, 执行        git restore -- 文件名

结果下图可见.

在看看文件的内容.

实验表明,

该命令, 可以回退工作区的修改.

接下来, 我们看它能不能回退提交到暂存区的代码.

现在, 执行         git restore -- 文件名

看它能不能回退 提交到暂存区的代码.

实验表明.

对于已经提交到暂存区的代码, 该命令是无能为力的.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值