git 删除某一次的提交(commit)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

突然有同学问怎么删除指定的提交其他的保持不变。

大致的意思就是我先提交的是a又提交了bc是我最近的一次提交。然后项目变动b的这次改动不需要提交了怎么把b的这次commit去掉还不影响c。百度即可得到想要的答案。

下面我总结起来以备不时之需。

最主要的还是用到了这个命令

git rebase -i commitID

先打开终端cd到你需要变动的项目目录下。

然后先用 git log查看提交记录找到你要删除的commit找到需要删除比他更早的最近的commitid。

比如我要删除“2 trying”的这次提交他对应的commitid是349786...那么他的上一次提交的commitid就是bc6035...也就是我们的目标id是bc6035....。如下图

 找到目标commitid之后接着执行

git rebase -i 目标commitid  回车进入了文件操作界面需要编辑编辑模式是敲i即可进入编辑状态找到要删除的commitid 将pick修改成drop。看到的结果如下图

 编辑完成按键盘Esc退出编辑模式然后按Shift+“;”再输入wq!保存文件的写入修改退出。q!是不保存修改。如下图

 这时候本地删除某一次的提交已经完成了然后推送到远端git push --force

这样就完成了删除指定提交的操作再打印log看到要删除的那个commitid已经不在了。操作如下图

  

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6