You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git Squash操作后提交作者仍为旧名称,如何修改为当前提交者名称?

问题原因

你执行交互式rebase压缩提交时,默认会沿用你标记为reword的首个旧提交的作者信息,仅合并后续squash提交的代码变更,不会自动将作者替换为最后操作的你。

解决方法

方案1:修改已压缩好的单个提交

如果你已经完成rebase压缩,当前分支仅剩下1个需要修改作者的提交,直接按以下步骤操作即可:

  • 首先确认本地Git配置的用户名和邮箱是你想要显示的信息,可提前执行以下命令校验/设置:
# 查看当前配置
git config user.name
git config user.email

# 如果配置有误可以先修改(加--global是全局生效,不加则仅当前仓库生效)
git config user.name "你的名称"
git config user.email "你的邮箱"
  • 执行命令重置当前最新提交的作者信息,同时保留你已经写好的提交信息:
git commit --amend --reset-author --no-edit

如果你需要同时调整提交信息,去掉--no-edit参数即可,弹出编辑框后修改提交信息保存即可。

  • 最后再次强推到远端覆盖旧提交:
git push --force

方案2:rebase压缩时直接指定作者

如果还没执行rebase操作,你也可以在压缩完提交、编辑提交信息的环节结束后,立刻执行上面的git commit --amend --reset-author命令,再执行推送,避免后续再修改。

注意事项

如果该分支是多人共同协作的公共分支,强推前请告知其他协作成员同步最新的远端分支,避免成员本地旧分支后续提交产生不必要的冲突。

内容的提问来源于stack exchange,提问作者Deadpool_er

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 04:18:01