我想将当前的修改覆盖历史的Commit: 93af0c44615f92f2c4871f5c2d47d9f3a4d549a7,我需要怎么做呢?

# 1) 可选, 先做备份分支(防止误操作)
git branch backup/before-overwrite-93af

# 2) 只暂存你要覆盖进 93af 的文件
git add xxx.c

# 3) 生成 fixup 提交(目标是 93af)
git commit --fixup=93af0c44615f92f2c4871f5c2d47d9f3a4d549a7

# 4) 自动把 fixup 折叠进 93af(无交互,7ca94afa为93af的前一个父提交)
GIT_SEQUENCE_EDITOR=true git rebase -i --autosquash 7ca94afa

也可以是这样(93af0c4^也会解析成93af0c4的父提交7ca94afa):

GIT_SEQUENCE_EDITOR=true git rebase -i --autosquash 93af0c4^

# 5)同步到远程

git push --force-with-lease origin develop

 

# 6) 检查结果
git log --oneline --decorate -n 6

posted @ 2026-04-10 21:49  bk街头狂舞  阅读(5)  评论(0)    收藏  举报