1. 错误提交了commit 需要回退
切换到需要回滚的分支,执行
git reset --hard HEAD^
该命令将会恢复最近删除的一次commit
多个 commit 回退
首先在当前分支下 通过指令获取所有的提交记录
git log
会看到每一个commit的提交信息等,这里需要知道对应 commit 的 hash值,可以直接从git hub 或者 git lab上的仓库或者合入请求等地方看到对应分支后面的hash值,可以从页面上直接复制
获取到对应 commit 的 hash 值后可以直接在当前分支执行命令
git reset --hard commithash(你获取的commithash)
之后还需要一次 force提交,使用命令或者工具都可以
git push origin HEAD --force
2.回滚commit 错了 把正确的删除了?
当前分支下 查看所有操作记录 (包含删除操作 git log看不到删除的)
git reflog
在 改命令的最前方 也就是HEAD前方可以看到 对应操作的 Hash值,类似于
再执行
git reset --hard hash
这里的hash就是上面左侧的值,这样可以恢复删除的操作
git reset --参数
–mixed
不删除工作空间改动代码 撤销commit 撤销git add
效果与 git reset HEAD^ 一致
–soft
不删除工作空间改动代码 撤销commit 撤销git add
–hard
删除工作空间代码,撤销commit,撤销git add
误删时通过上方操作可以找回