git-reset

git reset三种模式(–hard/–mixed/–soft)
在这里插入图片描述
Git会有三个区域:

  1. Working Tree 当前的工作区域(本地代码存放位置)

  2. Index/Stage 暂存区域,和git stash命令暂存的地方不一样。使用git add xx,就可以将xx添加进Stage里面(暂存区域)

  3. Repository 提交的历史,即使用git commit提交后的结果(类似本地仓库)

git reset --hard 目标节点
重置Index/Stage区域和Working Tree中的内容到指针指定的节点时候的代码内容,若你修改代码后,没有commit,则修改会被擦除。
git reset --hard HEAD^
切到上一条commit 的同时,你工作目录(Working Tree)新的改动和已经add到暂存区域(Index/Stage )的新改动也一起全都消失了。若执行两次,则代码回到上上次commit的状态。
git reset --soft HEAD^
由于工作目录(Working Tree)的内容,会对比重置前的状态,将差异文件放进暂存区域(Index/Stage )
git reset HEAD^与git reset --mixed HEAD^
reset 如果不加参数,那么默认使用 --mixed 参数
工作目录(Working Tree)的内容和 --soft 一样会被保留,但暂存区域(Index/Stage )会被清空,即对比重置前的状态,将所有差异文件放进工作目录(Working Tree)

Git 的历史只能往回看 ,不能向未来看

git reset HEAD–filename与git checkout filename对比

git reset HEAD 111.php
清空暂存区,但修改不撤销。与git reset 111.php效果一致
git checkout 111.php
add 111.PHP文件后,对111.PHP进行修改,使用git checkout 111.php命令撤销修改
若add 并提交111.PHP文件后,对111.PHP进行修改,使用git checkout 111.php命令撤销修改

参考链接
https://www.jianshu.com/p/c2ec5f06cf1a

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值