rollback本地仓库
事情是这样的,今天交接工作提交代码时,不小心把本地配置文件给提交上去了!我心想这可不行,快走了,还要改人家的基本配置文件!这不明摆着挨怼呢嘛!
于是乎有个下面的操作
1.cd 到本地仓库中
![](https://img.haomeiwen.com/i15503876/784894e04d8a38d1.png)
2.log 提交记录
![](https://img.haomeiwen.com/i15503876/48ac8cbbc08260b0.png)
3.回退提交记录(git reset --soft commitId)
![](https://img.haomeiwen.com/i15503876/5fe53aa6474f4bca.png)
git reset --soft commitId 命令会回退commitId的提交,此时commit的文件变成modified绿色状态,本地代码修改还在,再次提交需要提交的代码即可。
对reset进行撤销
Git提供了一个命令git reflog用来记录每一次的操作,及时是reset掉的commit记录,reflog都会有记录,所以只需找到对应的commitId,以便确定要回到的哪个版本
git reset --hard commit的id
还原到commit的id,此commit之后的文件都被还原到上个版本
git reset作用(此处借鉴一个大神的文章 https://www.cnblogs.com/quan-coder/p/8459490.html ,如有冒犯,本人马上删除)
1. 文件从暂存区回退到工作区,撤销add
2. 版本回退
文件从暂存区回退到工作区,撤销add(如果想取消某个add的文件,可以使用该命令来进行撤销操作)
撤消add:git reset 文件名
撤消所有add的文件:git reset HEAD .
撤消某个文件或文件夹:git reset HEAD 文件(夹)名
把从cache中删除的文件,重新添加到cache中: git add -f 文件名
SVN 回退某次提交操作
0.查看提交信息
![](https://img.haomeiwen.com/i15503876/49cf2134d70121f2.png)
1.找出两个版本不同
![](https://img.haomeiwen.com/i15503876/029dc728d1de3f29.png)
2.高版本向要回退目标版本合并思想
![](https://img.haomeiwen.com/i15503876/25fc581a11c46342.png)
经过svn merge之后本地代码就会会退到目标版本。然后在提交就会冲掉svn远程仓库提交上去的文件
rollback远程仓库
1.首先回滚本地仓库的
- git reset --hard commitId
- git push -f 强推到远程分支,覆盖的思想吧
网友评论