`git reset` 和 `git reset --hard`区别

13 篇文章 0 订阅

git resetgit reset --hard区别

先说知识点

有时候,进行了错误的提交,但是还没有push到远程分支,想要撤销本次提交,可以使用git reset –-soft/hard命令

缺省情况

git reset 缺省为git reset --mixed

二者区别:

  • git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
  • git reset –-mixed:回退到某个版本,只回退了commit的信息,并且恢复到index file一级。如果还要提交,需要重新add,再commit即可
  • git reset -–hard彻底回退到某个版本本地的源码也会变为上一个版本的内容(误操作后需要学git reflog挽救),撤销的commit中所包含的更改被冲掉

我忘了知识点踩坑

沙雕认为

  1. 当下情况:最新版本的100M压缩包已经在本地删除,但是本地版本库中之前有个版本中还有,所以git push到gitee会被拒收…但是git一定要先传输完前面的版本之后再传后面的修改(所以我要帮git本地仓库手动执行git rm前面版本的文件,或者忘了文件名,通过下面3的复杂的操作,来完成此项操作)

  2. 真的不知道怎么去掉本地仓库的4commit,因为去不掉的话就会先向远程库提交超100M文件然后被拒接,所以原地重复…

  3. 然后如果git rm 忘了那个压缩包的名字了,所以直接回退版本到昨天的样子,然后再git reflog回来并展示今天的所有修改,git checkout归还所有修改,然后把今天的修改备份,之后再回到昨天的版本库,然后重新提交今天的内容,除了你个超过100M的压缩包

慢慢懂了

奇怪,最后一次版本回退又没有删除本地文件,可能是因为恢复过?

原来是git reset --hard 和 git reset --soft的区别

所以我幸幸苦苦寻找了好久的取消commit而不影响工作区就是git reset --soft

真是汗啊,因为用得少,所以学了又忘了,所以现在踩一遍坑,使得自己更深刻了,也提醒了自己 对于基础知识 还是要多重复,学习多次,不断加深记忆,或者很可能还是会踩坑

参考:https://blog.csdn.net/yangfengjueqi/article/details/61668381

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值