git移除一个指定commit方案
文章类型:git
发布者:hp
发布时间:2026-07-21
第一步:找到目标 Commit 的前一个 Commit ID
git log --oneline
# 假设你要删除 bad_commit,它前面的 commit 是 prev_commit
第二步:启动交互式 Rebase
git rebase -i <prev_commit_hash>
# 或者如果删除的是最近第 N 个,可以使用: git rebase -i HEAD~N
第三步:编辑提交列表
pick a1b2c3d 初始化项目
pick e4f5g6h 错误的提交 <-- 将这一行改为 drop e4f5g6h 错误的提交,或者直接删除此行
pick i7j8k9l 修复bug
第四步:保存退出
第五步:处理冲突
git add .
git rebase --continue第一步:找到目标 Commit 的前一个 Commit ID
git log --oneline
# 假设你要删除 bad_commit,它前面的 commit 是 prev_commit
第二步:执行 revert
git revert <bad_commit_hash>
第三步:推送远程
git push origin <分支名>
第一步:软重置
git reset --soft HEAD~1 # 回退最近1个commit,修改保留在暂存区
# 或者
git reset --mixed HEAD~1 # 回退最近1个commit,修改保留在工作区(默认行为)
第二步:硬重置
git reset --hard HEAD~1
第三步:推送远程
git push origin <分支名> --force
二:总结
1:值想撤销最近一次提交,用reset方案
git reset --soft HEAD~1
git reset --hard HEAD~1
2:删除中间某次提交,用reverrt方案
git revert <Commit的哈希值>
3:从历史记录彻底抹除某次提交,用rebase方案
git rebase -i HEAD~n
暂无评论,快来发表第一条评论吧~