我这里就不重复那些详细的git了,这些很多博客都在讲,git reset 有三种撤销模式,分别是 git reset --hard/--mixed/--soft

说起git,我们可以简单分为四个区域

工作区(我们正在写代码的区域)

暂存区(git add过后存的区域,这个和git stash存的暂存区不一样哦)

本地仓库(git commit过后的区域)

远程仓库(远程仓库)

1、git reset --hard

这方式是最粗暴的,就直接把工作区,暂存区全部清空

这个指令还是比较少用的,在你多次提交错误代码后,你司的代码审核员一直未给你通过,这时你想通过--soft 就很麻烦了,这个时候只有 --hard 来将最干净的远程代码覆盖到你本地是最纯粹的(切记,不到万不得已不要--hard,因为他会将你本地代码清掉)

2、git reset --mixed

其实就是默认的 git reset, 保留工作区,清空暂存区,那新旧文件导致的差异放在哪里呢,答案是混合后放在工作区(这种方式我用得少,一般都是用的git reset --soft)

3、git reset --soft

这方式用的最多,软撤销,你当前写的工作区还是保持不变,之前的新旧差异放在暂存区,就和你git commit之前的代码一样

提示:其实撤销git add和撤销git commit都是使用git reset,不过我一般都是git commit想要撤销才是git reset,因为我用的vscode,git add想要撤销直接点一下界面就撤销了,至于在git push后想要撤销,这问题我遇到过,不过忘了,这在很多博客上也写的有,不过我个人觉得还是得谨慎,等后面我有时间了,再试试(不想复制别人的,我的博客只写我自己完全去试过的,没风险的操作)

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐