Reset

reset允许塑造仓库历史,如撤销一些修改,或把提交弄的不一样;

1 三种模式

1.1 soft模式

选取一条或多条提交,将它们全部改变放回到暂存区,在此基础上继续创建新的提交;

把几条提交当作一个commit,压缩近暂存区;

$ git reset --soft HEAD~5
$ git status
$ git commit

1.2 mixed模式(默认,推荐) 

修改历史和工作目录;

$ git status
$ git reset HEAD
# 把修改从暂存区移除,将它们放回工作目录中

1.3 hard模式

破坏性,擦除掉不想保存的修改;

$ git reset --hard HEAD~3   
# 去除最近三次提交
$ git reset --hard 91as31d
# 切换到commit id等于91as31d的提交

2 checkout和reset区别

checkout更关注在一个目录或文件级别的精度上,不用撤销或改变一条提交,可回到一个特定文件的某次提交的历史上,再把该文件和版本拉回到当前的工作目录;

reset针对仓库的整个历史;

$ git checkout c638ec7 oldfile.md


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值