Git删除已经push的commit记录或者合并commit记录
问题:
1, commit注释写错
2, 发版时,只允许有一条commit记录,但代码还push到远程了
3, 没拉最新代码,提交后合并代码时有冲突
操作步骤:
-
提交历史如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/3d5a75a235b64fe388b7a68add19cda8.jpeg#pic_center)
-
代码变更记录如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/162ae67515a548aa8ecc458fadc98021.png#pic_center)
-
git log 查出历史提交记录,找到需要删除的那条记录的上一个的commit-ID:
比如我要删除第二次和第三次的提交记录,我需要找到第一次提交的commit-ID
![在这里插入图片描述](https://img-blog.csdnimg.cn/44faf1f8c8734b4bb60c2edeb13480e1.png#pic_center)
-
使用git reset commit-ID把提交记录回滚到指定提交
不建议用git revert,因为用它不但不会删除你想删除的那条记录,还会有一条新的提交记录用来重置你的上次的修改
![在这里插入图片描述](https://img-blog.csdnimg.cn/b3391a03575e43a5a3981abdb60f4d13.png)
- 再用git log 确认是否删除错误的提交记录
![在这里插入图片描述](https://img-blog.csdnimg.cn/80c916ad367c4f47aac8fd4c51fed021.png)
- 用git status发现代码变成未提交状态,重新add并commit正确的代码修改或者直接使用idea界面操作
注:此步骤只需commit,不用push
![在这里插入图片描述](https://img-blog.csdnimg.cn/c6fc97a912e549deb0b3b8b6c84acbeb.png)
- 不要pull远程代码(防止第2步白做),直接用git push --force origin 分支名,强制push到远程分支
![在这里插入图片描述](https://img-blog.csdnimg.cn/6812623c9d0c4f6da2c1ddddda953ab5.png)
- 查看远程仓库的提交记录
![在这里插入图片描述](https://img-blog.csdnimg.cn/d0aac13fe54b40f38833a1dfa93bdf5a.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/e57418cf7c3d459a9b0e9fbc01c0fa1d.png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)