Git 回退本地/远程仓库的某次提交

rollback本地仓库

事情是这样的,今天交接工作提交代码时,不小心把本地配置文件给提交上去了!我心想这可不行,快走了,还要改人家的基本配置文件!这不明摆着挨怼呢嘛!

于是乎有个下面的操作

1.cd 到本地仓库中

cd.png

2.log 提交记录

log.png

3.回退提交记录(git reset --soft commitId)

reset.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.查看提交信息


log.png

1.找出两个版本不同


diff.png

2.高版本向要回退目标版本合并思想

merge.png

经过svn merge之后本地代码就会会退到目标版本。然后在提交就会冲掉svn远程仓库提交上去的文件

rollback远程仓库

1.首先回滚本地仓库的

  • git reset --hard commitId
  1. git push -f 强推到远程分支,覆盖的思想吧

你可能感兴趣的:(Git 回退本地/远程仓库的某次提交)