git 删除某次指定的提交

删除指定的commit,需要执行变基操作,在多人协作的项目中,不推荐对已推送到远程仓库的内容进行变基操作

交互式的变基简介

rebase 命令中加入 -i--interactive 参数,在交互模式下完成

交互模式会将指定的commit后的所有提交列出,行格式:(action) (partial-sha) (short commit message)

你可以上下移动这些行从而对提交进行重排序。当你退出编辑器时,git会按照你指定的顺序去应用提交,并且做出相应的操作(action)。

操作(action)说明

  • edit:使用commit,但是暂停以便进行修正
  • squash:使用commit,但是把它与前一次commit合并
  • pick:使用commit
  • drop:移除commit

git rebase -i origin/master 会将最后一次从origin仓库拉取或者向origin推送之后的所有提交列出。

 

删除指定的commit

# 首先使用 git log 命令找到需要删除的commit版本的前一次commit的commit_id
# 进入交互模式,进入后不会列出当前版本 git rebase
-i commit_id # 进入编辑模式,将第一行(即你需要删除的commit)前的操作符修改为 drop # 修改完成后,退出编辑模式然后保存 :wq
posted @ 2018-03-09 14:15  Yiven  阅读(46818)  评论(6编辑  收藏  举报