前言:好久没写了,最近忙于工作的项目,一连干了好几个月,几个月里面又遇到了高温、限电以及疫情种种困难,最终还是如期完成项目进度。今年真的是太难了,哈哈废话不多说,今天给大家介绍一下Git中的简单但是最常用的操作:删除提交记录中某一笔提交。
一、移除某一笔的背景
首先使用 git log 命令看下当前的提交记录
如上图最近一共提交了3笔,但是突然发现黄色矩形框的那笔add network util 是错误提交或者是有重大的bug想把其从所有提交中移除掉。
二、操作步骤
方法一:命令行操作
- git log 找到想要移除的下一笔的commit id: b154ef7d3c9516c4e4a0838928f3478392da562e
- git rebase -i b154ef7d3c9516c4e4a0838928f3478392da562e rebase到这笔上,并在出现如下提示界面
- 可以看到 命令提示中出现了一条 d,drop = remove commit 这条命令,其作用就是移除该笔提交要工的,于是我们在 add network util 这条记录前面 将 pick 改为 drop (修改首先需要按下 a e i o u 任意键进入vm 命令编辑模式,修改好后按 esc 键后,Shift + : 组合键 输入wq 再按 enter键 退出)
- 最后git log 观察一下是否正确删除了该笔提交,经查确实是被移除掉了。 方法二:借助Android Studio 的图形化操作如上图删除 黄色矩形框内的 123 提交的那笔,应做如下操作:
- 点开rebase 面板
- 点击第4步后,出现以下界面并在界面上操作如下即可删除
- 解决冲突,由于我们是删除一笔提交直接 以左边我们的分支代码为准,接收左边的修改即可。
- 最后 git log 查看 移除结果总结:以上2种方式都可以移除掉 多笔提交中的一笔,不过可以看出,对于这种比较简单的、没得很多冲突的,很显然方法一还是很简单高效的;如果情况复杂的话,建议使用第二种图形化界面操作更加 直观清晰。 (如果错误,欢迎批评指正,请大佬轻喷)
版权归原作者 诸葛榆木 所有, 如有侵权,请联系我们删除。