修改gitcommit的author信息实现方式
针对本地多个Git账号导致提交作者错误的问题,可通过先设置项目级用户信息,再使用rebase的edit模式结合amend--reset-author命令修改目标提交,最后执行rebase--continue完成修改。amend仅适用于最近一次提交,更早的提交需借助rebase。
修改git commit的author信息
本地有多个git账号时,很容易出现这种情况:某个项目忘记设置专属账号,结果提交时用了全局账号。其实代码本身没问题,就是提交记录里的名字看着不太对劲。下面说说怎么改回来。
查看提交日志
先看看当前提交记录。假设你发现最近三次提交都是以 a(a@email.com) 的身份提交的,但实际应该用 b 用户——那么具体怎么操作呢?
$ git log # 输出如下 commit 3 (HEAD -> branch1) Author: a Date: Thu Nov 22 16:22:59 2018 +0800 commit 3 commit 2 (HEAD -> branch1) Author: a Date: Thu Nov 22 16:22:59 2018 +0800 commit 2 commit 1 (HEAD -> branch1) Author: a Date: Thu Nov 22 16:22:59 2018 +0800 commit 1
重置本项目用户信息
首先,把当前项目的用户信息改成正确的。注意这只是针对当前仓库,不会影响全局。
$ git config user.name 'b' $ git config user.email b@email.com
使用amend命令修改commit信息
如果只想改最后一次提交,直接用 git commit --amend --reset-author 就行。但这里需要改前三次,所以得用 rebase。
$ git commit --amend --reset-author
amend 只改最近一次提交,之前的提交得用 rebase 来处理:
$ git rebase -i HEAD~3 # 输出如下 pick 1 commit 1 pick 2 commit 2 pick 3 commit 3
打算改哪个提交,就把对应行的 pick 改成 edit,然后保存退出。比如想改 commit 1,光标移到第一行,按 i 进入插入模式,把 pick 改为 edit:
edit 1 commit 1 pick 2 commit 2 pick 3 commit 3 ... -- INSERT --
按 Esc 退出插入模式,输入 :wq 保存退出。这时终端会提示:
Stopped at 1 commit 1
You can amend the commit now, with
git commit --amend
Once you are satisfied with tour changes, run
git rebase --continue
输入amend命令重置用户信息
接下来执行 git commit --amend --reset-author,会弹出编辑窗口,里面显示了 commit 1 的提交信息和注释。你可以按需修改注释(同样按 i 进入插入模式修改,:wq 保存退出)。
$ git commit --amend --reset-author
退出后,再查看提交历史,会发现 commit 1 的 author 已经变成 b(b@email.com) 了,而且它现在是最近的一条记录。
通过continue命令回到正常状态
最后别忘了执行 git rebase --continue,让 rebase 流程正常结束。
$ git rebase --continue
总结
整个流程其实不复杂:先设好项目级别的用户信息,然后通过 rebase 的 edit 模式逐个修改目标提交,最后用 continue 收尾。记住,amend 只改最近一次,想改更早的提交就得靠 rebase 了。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。
Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。
Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。



























