如何通过SHA1哈希改写已推送至远程的提交信息?(分支未合并主分支)
改写已推送至远程分支的提交信息(通过SHA1哈希)
假设你当前处于feature/abc分支,目标提交已推送到远程且未合并到main,可按以下步骤修改提交信息:
先拉取远程最新分支内容,确保本地与远程同步:
git pull origin feature/abc启动交互式变基,指定目标提交的父提交(在SHA1后加
^):git rebase -i <目标提交SHA1>^在弹出的文本编辑器中,找到目标提交对应的行,将开头的
pick替换为reword(或缩写r),保存并退出编辑器。随后会弹出新的编辑器窗口,修改提交信息为你需要的内容,保存并退出。
由于提交历史已被改写,需要强制推送更新至远程分支:
git push origin feature/abc --force-with-lease
注意:
--force-with-lease比直接使用--force更安全,它会检查远程分支是否有你未同步的新提交,避免误覆盖他人的修改。如果该分支只有你一人维护,也可以使用--force,但优先推荐前者。
若有其他协作者在该分支工作,修改提交历史后务必通知他们重新拉取分支,避免冲突。
内容的提问来源于stack exchange,提问作者M.A Shahbazi
相关产品推荐
相关产品推荐

