git中的revert和reset
作者:互联网
假如我们对之前提交的代码不满意,我们就能使用git reset 或者git revert。reset、revert都有恢复之意,在git中他们的差别是什么呢?
在这之前,我们在复习一下git的基本知识。
Git有三个区域:
Working Tree 当前的工作区域
Index/Stage 暂存区域。使用git add xx,就可以将xx添加近Stage里面
Repository 提交的历史,即使用git commit提交后的结果,这里指的是本地仓库
reset
git reset 是通过移动HEAD来达到恢复的目的,移动到的节点的之后的代码会通过你选择的模式进行处理。
git reset有三种模式:
git reset --hard:重置stage区和工作目录:
git reset --soft:保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区;
git reset --mixed 或 git reset(不加参数的话就是mixed模式):保留工作目录,并清空暂存区
revert
git revert表示的事我想撤销某个版本,他之前和之后的版本继续保留。
我们通过一个例子来说明。
我们提交了三次, 但是 我不想要b.txt 这个文件了,我们可以使用revert
$ git revert -n b32376e
此时我们看文件夹,
b.txt果然消失了, 然后你需要继续git commit 一下 ,记录一下你的回退操作
最后我们打印一下git log
标签:reset,git,--,revert,提交,我们 来源: https://blog.csdn.net/weixin_41597344/article/details/117047455