因为公司会有一套commit提交规范,开发过程中不小心提交了错误的信息,如何及时的弥补错误呢?
- 如果是在本地的提交,还没推到主分支,那很简单,直接reset重新提交一次
git log 查看日志,如下
每次提交都有一个commit id
git reset head^ 撤回最近一次提交
git reset ${commitId} 撤销commitId之后的提交
git add . 暂存
git commit -m '' 重新提交
2. 如果提交到了远程分支,那需要修改历史的操作
- 首先如果是最近的一次提交,也很简单,执行
git commit --amend
会进入到如下界面,按下 a 或者 i 进入编辑模式
第一行就是之前提交的信息,修改后按下esc,然后:wq 保存退出
执行git log查看修改成功便可push到远程分支
- 如果是以前的几次提交出错,稍微有点麻烦,操作如下
git rebase -i HEAD~3 表示要修改本次提交前3次的提交,出现如下界面
前三行分别为最近提交三次的信息倒序,注意是倒序,最近一次提交在第三行。切到编辑模式,将你要修改的某一次提交的pick改为edit,如下
保存退出,会出现以下的提示信息:
根据提示,执行git commit --amend,一样弹出上面提到的修改最近一次提交内容的信息(本文第二张图),如上操作修改第一行提交的信息后保存退出
这个之后打印日志其实HEAD处于当前修改的这一条提交的这里,需要rebase其他的提交记录
git rebase --continue
最后git log检查是否修改成功就可以push了,如果要修改多条重复上述操作即可