由于不知道Git怎么删除之前错误的代码提交commit,我被开除了!

简介: 由于不知道Git怎么删除之前错误的代码提交commit,我被开除了!

背景

由于将重构任务和业务任务代码修改提交在了一个分支,为了不影响业务正常,必须删除重构提交。

问题

比如我的提交历史如下,我现在想删除重构commitB、C,但不影响B、C后的业务提交D

D(业务提交)
C(重构提交)
B(重构提交)
A(本地初始拉的远程分支)

解决方案

首先找到BC提交之前的一次提交的A

执行如下命令

git rebase -i A

image.png

将BC两行前面的pick改为drop,然后保存退出

至此已经删除了指定的commit。

git push  –force 然后推送到远程仓库

此时BC 就被干掉了,没有影响后面的提交

目录
相关文章
|
6天前
|
开发工具 git
git代码回退
git代码回退
16 5
|
4天前
|
开发工具 git
Git进行代码版本控制
Git进行代码版本控制
|
6天前
|
Shell 网络安全 开发工具
git实现服务器自动push拉取代码--webhooks
git实现服务器自动push拉取代码--webhooks
14 1
|
14天前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
26 5
|
19天前
|
存储 开发工具 git
蓝易云 - git中,add到暂存区,commit且push之后,暂存区域里还有内容吗
所以,当你执行 `git add`,然后是 `git commit`,最后是 `git push`之后,暂存区是空的,除非你又执行了新的 `git add`命令来添加更多的更改。
18 1
|
22小时前
|
开发工具 git
vscode 将已修改代码提交推送git时一直转圈也没有反馈
vscode 将已修改代码提交推送git时一直转圈也没有反馈
5 0
|
4天前
|
开发工具 git
代码合并、git merge冲突处理
在Git中,面对合并冲突可选`accept yours`或`theirs`,或手动合并(`merge`)。右键Git操作包括复制修订号、创建补丁、Cherry-Pick特定提交、回滚到旧版本、查看指定状态、比较本地版本、重置、反做提交、压缩多提交、丢弃提交、交互式重放、创建分支和标签。未push的commit可通过`undo`取消。`drop`和`revert`都回退代码,但`drop`同时丢弃commit。已push需回退时,使用`git reset --hard commitId`加`git push -f`,但注意可能影响他人;若想撤销,先`pull`。
7 0
|
4天前
|
安全 Serverless 网络安全
阿里云云效产品使用问题之如何拉取自建Git(未开放公网访问)中的代码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6天前
|
Shell 开发工具 git
如何使用git上传代码github仓库
如何使用git上传代码github仓库
|
15天前
|
开发工具 git
一文教你如何设置git commit模板规范
一文教你如何设置git commit模板规范