首页
搜索
首页
登录
搜索
Admin
文章
6
收藏
0
人气
0
相关推荐
终极终端zsh+autojump
Git 常用命令
Git误操作恢复
如何判断JavaScript中的数据类型
Nginx常用配置
VirtualBox中ubuntu的网络设置
Git误操作恢复
Admin
/
2019-09-25 16:15:8
/
0
/
48
## 恢复误删除的分支 ### 查询git操作的记录 ``` git log -g 或者 git reflog ``` ### 找到删除的分支最后的提交 ### 创建一个新分支,以指定的提交id为基础 ``` git branch readdgoods 21a9010086dd41c588237030877d178a878e69de ``` 查看当前的分支,可以看到,误删除的分支已经回来了 ## 恢复错误的版本回退 使用 `reset` 进行了版本回退操作,如果是错误的回退操作,我们还是有办法恢复的 第一个办法就是和 `恢复误删除的分支` 的操作一样,查看所有日志,并以提交的commitID 来创建新的分支,再把新的分支合并到我们当前的分支,这个操作有点麻烦. ### 方式二 查看回退操作的commitID: ``` git log -g 或者 git reflog ``` 这个操作会显示你最近操作的commitID,之后我们找到要恢复的ID再进行恢复: ``` git reset --hard 21a9010086dd41c588237030877d178a878e69de (commitID) ``` ## 恢复错误提交到线上版本库的操作 如果我们提交到线上版本库的版本是一个错误的版本,想要恢复的话再使用前面的方式,就会出现这个结果: 1. 你本地恢复到上正确的版本 2. 你 `push` 到线上版本库,会报错: 你的本地版本比线上版本落后,请先 `pull` 这个时候你就该苦恼了,我如何把线下的版本回退到指定的版本呢? 这个时候我们有必要使用 `git revert` 这个命令了,这个命令会恢复到某一个版本,并生成一个提交, 这样,你本地的版本还是比线上的版本高的,而且本地的版本还进行回退,这个时候再往线上的版本库 `push` 就可以成功把线上的版本回退某一个指定的版本 ``` git revert (commitID) ``` > 注意 `revert` 这个操作不同于 `reset`, `reset`是回退到某个版本,而 `revert`是撤销某次操作 >git revert 是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留 >git reset 是回到某次提交,提交及之前的commit都会被保留,但是此次之后的修改都会被退回到暂存区 --- Created by Luwnto on June 29, 2017