git操作之回滚与撤销

新建一个demo-3分支:
在这里插入图片描述
然后删除文件,只保留a.js,并且commit:
git操作之回滚与撤销_第1张图片

报错了,是因为没有git add,我们用下面的命令(上面的报错已经提示了):

git commit -m 'update delete files' -a

-a就是对于删除的或者修改的数据和文件可以不用git add了
git操作之回滚与撤销_第2张图片
然后把修改的结果push上去:

git push --set-upstream origin demo-3

git操作之回滚与撤销_第3张图片
demo-3分支现在只有一个文件a.js了
git操作之回滚与撤销_第4张图片
我们修改一下a.js的代码,新增一条var d = ‘xxx’:
git操作之回滚与撤销_第5张图片
这时候git status看看:
git操作之回滚与撤销_第6张图片
我们现在不想要这样的修改了,可以执行:

git checkout a.js

就是还原代码,刚才写的var d = ‘xxx’:就没了

我们再看看回滚:
修改文件a.js:
git操作之回滚与撤销_第7张图片
git操作之回滚与撤销_第8张图片
然后把修改推上云:
git操作之回滚与撤销_第9张图片
然后我们来看一下日志:
git操作之回滚与撤销_第10张图片
在这里插入图片描述
git操作之回滚与撤销_第11张图片

我们再添加一行:
git操作之回滚与撤销_第12张图片
git操作之回滚与撤销_第13张图片
再看看日志:
git操作之回滚与撤销_第14张图片
git操作之回滚与撤销_第15张图片
我们现在不想要h='welcome aboard’了,想要回滚到上一个版本,可以这样:

方法一:
git操作之回滚与撤销_第16张图片
我们要把不想要的版本回推掉,才能恢复到想要的版本:
执行:
在这里插入图片描述
得到:
git操作之回滚与撤销_第17张图片
输入:wq保存
在这里插入图片描述
在这里插入图片描述
代码恢复到上一个版本了:
git操作之回滚与撤销_第18张图片

查看状态:
git操作之回滚与撤销_第19张图片
推上去:
git操作之回滚与撤销_第20张图片
我们发现多了一条日志:
git操作之回滚与撤销_第21张图片

我们在这一版本删除了两个文件:
在这里插入图片描述
git操作之回滚与撤销_第22张图片
想要回推到这个版本1e45a6e:
在这里插入图片描述
文件被找回来了!
git操作之回滚与撤销_第23张图片
git操作之回滚与撤销_第24张图片
git操作之回滚与撤销_第25张图片
在这里插入图片描述
方法二: 我们不仅把代码回推到之前的版本,还把云端的记录给清除掉,不留痕迹:
比如我想回滚到这个版本,并且清除掉红色框里面的所有内容:
git操作之回滚与撤销_第26张图片
这个版本里面有这些文件:
git操作之回滚与撤销_第27张图片
当前文件:
git操作之回滚与撤销_第28张图片

我们可以执行:

git reset --hard 1e45a6e

在这里插入图片描述
我们git push:
git操作之回滚与撤销_第29张图片
会报错,我们可以强行提交:

git push --force

在这里插入图片描述
刷新一下云端代码:
git操作之回滚与撤销_第30张图片
之前的已经没有了,记录也没有了

你可能感兴趣的:(git,git)