git 删除某次指定的提交

2022-12-15 13:14:43 浏览数 (1)

删除指定的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

代码语言:javascript复制
# 首先使用 git log 命令找到需要删除的commit版本的前一次commit的commit_id
# 进入交互模式,进入后不会列出当前版本 
git rebase -i commit_id 
# 进入编辑模式,将第一行(即你需要删除的commit)前的操作符修改为 drop 
# 修改完成后,退出编辑模式然后保存 :wq

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:

原文出处:Yiiven https://cloud.tencent.com/developer/article/2193114

git

0 人点赞