git找回本地错误提交或者删除文件

241 阅读1分钟

一、场景

使用git提交代码时,本地错误提交(合并分支记录)或者删除文件该怎么办?

提交代码后会生成最新的版本号,我们可以根据版本号找回之前的代码。

二、远程分支版本回退

1.首先回退本地分支:

git reflog                  查看所有操作版本的 commit_id
git reset commit_id         回退之前的版本日志信息

2.重新提交:

git add .                             提交本地所有修改的代码到暂存区     
git commit -m "feat(api):二次提交"     提交生成唯一的版本号

3.紧接着强制推送远程分支:

git push -f  origin master    

注:本地回滚后,版本将落后远程分支,必须强制推送覆盖远程分支。

拓展:以上是不加--hard的时候只是操作了暂存区,因此需要进行第2步重新提交。如果想一步到位,可以在第1步回退版本的时候加上参数--hard (hard参数:会直接把工作区的内容也进行修改)。

git reset --hard commit_id