问题:今天修改代码,误把项目配置文件修改为本地数据库连接,需要撤销本次commit 记录。
解决办法:
第一步:使用git log 查看所有commit 记录。
第二步:使用git show commitID 查看指定commit 文件修改记录。
第三步:使用git reset --soft HEAD^ 回退最近一次的 commit 记录。
Git show 指令拓展
1.查看最新的commit
git show
2.查看指定commit hashID的所有修改:
git show commitId
git show commitId
3.查看某次commit中具体某个文件的修改:
git show commitId fileName
Git reset 指令拓展
-
--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
-
--soft
不删除工作空间改动代码,撤销commit,不撤销git add .
-
--hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
如果代码已经提交本地分支对应的 远端分支还需执行如下指令:
强推到远程,更新回退后的远程仓库:
$ git push origin HEAD --force
我一般回退指令三步骤:
#查看本地代码提交日志记录
git log
#回退至commit Id前状态,不保留代码变更、撤销add\撤销commit
git reset --hard commit_id
#如果代码提交远端分支,还必须执行如下指令,实现远端分支的回退
git push origin HEAD --force