Git误操作 git reset强制回滚 恢复commit方法

参考:

找回Git中丢失的Commit

Git误操作 git reset强制回滚 恢复commit方法

使用Git时,常有误操作,在Commit之后又执行了git reset --hard HEAD强制回滚本地记录以及文件到服务器版本,导致本地做的修改全部恢复到Git当前分支的服务器版本,同时Commmit记录也消失了。

此时解决方法是通过git reflog来查看先前记录并恢复:

git reflog会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会被记录在reflog中。

eg.执行git reflog命令:

$ git reflog
b7057a9 [email protected]{0}: reset: moving to b7057a9
98abc5a [email protected]{1}: commit: more stuff added to foo
b7057a9 [email protected]{2}: commit (initial): initial commit

回滚reset:

git reset --hard 98abc5a

即可恢复先前操作的commits。

2018.1

原文地址:https://www.cnblogs.com/qq952693358/p/8269902.html

时间: 2024-11-04 08:11:06

Git误操作 git reset强制回滚 恢复commit方法的相关文章

shell脚本实现git快速提交代码与快速回滚

shell脚本实现git快速提交代码与快速回滚 创建一个commit库: [[email protected] cml]# echo "check github" > index.html [[email protected] cml]# cat index.html check github [[email protected] cml]# git add index.html [[email protected] cml]# git commit -m "check

背景:表A数据误操作,被delete了,恢复。

SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < TO_DATE('2015-09-18', 'YYYY/MM/DD') select b.file_name 物理文件名, b.tablespace_name 表空间, b.bytes/1024/1024 大小M, (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M, substr((b.bytes-sum(nvl(a.bytes,0)))/(b.b

git 强制回滚【覆盖】远程 源码库

场景: 1.代码中没有删除密钥信息就提交到gitlab或者github 上了 2.想要删除gitlab或者github 上已经提交的源码和记录,避免其他人通过gitlab控制台看到密钥信息 操作: 1.通过 git log   确定需要回滚到 某个提交的 commit id 2.git reset --soft commit_id   //--soft 只回滚提交,不会删除提交记录,辛苦编写的代码功能还依然存在:--hard 则把提交记录和已经辛苦编写的代码彻底回滚删除 3.强制提交,覆盖远程g

git reset --hard 回滚以后 以后怎么再回去?

恢复的过程很简单: 通过git log -g命令来找到需要恢复的信息对应的commitid,可以通过提交的时间和日期来辨别,找到执行reset --hard之前的那个commit对应的commitid 通过git branch recover_branch commitid 来建立一个新的分支 这样,就把到commitid为止的代码.各种提交记录等信息都恢复到了recover_branch分支上了.

SQL SERVER回滚恢复误操作的数据

在生产数据库做CURD操作时,可能会有执行某条语句误操作的情况发生,针对这个种情况有两点建议:1.在SQL SERVER上开启事务确认功能,当执行完语句后确认无误,再提交事务.(开启方法见附件图片).2.新建存储过程,粘贴附件脚本.此存储过程执行后能够自动产生两个操作日志表,自动记录CRUD的所有操作.适用于提交事务后才发现错误的情况.只需要打开表UPDATE_LOG,粘贴RollbackupSQL里的语句执行即可恢复数据.注意:1)如果表中有自增长的ID,所恢复数据的ID值是最大ID+1.2)

Git 基础 - 回滚撤销commit

1 ###################################################################[@wooluwalkerdeMacBook-Pro:wenjian (dev)]$ git dog * db69602 (HEAD -> dev) add test_reset.md * fab7157 dev修改READM.md * 217fef2 (origin/master, origin/HEAD, master) Update README.md,

git 远程操作 git pull git push

git pull 用法: git pull <远程主机名> <远程分支名>:<本地分支名> 常用写法: 1. 全路径 git pull origin master:master 取回远程主机的master分支 与本地的master分支合并 2.省略本地分支 git pull origin master 取回远程主机名origin的master分支, 并与本地的当前分支合并 实质上,这等同于先做git fetch,再做git merge git fetch origin

Android Studio如何回滚已经commit的代码

对于commit(不是push)的代码如何回滚,这块对于刚转到git的开发者还是比较陌生的.今天我来说下这块的内容: 按照惯例,先上图,下图是还没有commit任何代码的push界面,这个时候是没有commit任何内容的: 然后我修改了string.xml的内容,并且执行了commit操作: 接下来就要说如何进行revert commit了,通过选中工程,点击右键,在弹出的列表中选择Git-->Repository-->Reset HEAD...,有些人可能会说我右键弹出来的列表中没有发现有G

oracle数据库误操作把表删除了,怎样恢复

一:表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from recyclebin 2.执行表的恢复 flashback table tb to before drop,这里的tb代表你要恢复的表的名称. 二:表数据恢复 对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有: 1.先从flashback_transact