如何在批量修改文件的Git提交中保留原作者信息?
保持Git提交作者信息不变的操作方法
如果是本地批量修改代码后准备提交,有两种简单方式:
- 临时配置当前仓库的用户信息(仅对当前仓库生效):
之后正常执行git config user.name "原作者姓名" git config user.email "原作者邮箱"git add .和git commit -m "迁移XX库至XX库",提交的作者就会是你设置的原作者信息。 - 单次提交直接指定作者(无需修改配置):
git commit --author="原作者姓名 <原作者邮箱>" -m "迁移XX库至XX库"
要是已经提交了错误作者的commit,想修改历史提交的作者信息,可以这么做:
- 启动交互式rebase,指定要修改最近N个提交(把N换成实际数字):
git rebase -i HEAD~N - 在弹出的编辑器里,把需要修改的提交前的
pick改成edit,保存退出。 - 执行以下命令修改当前提交的作者,然后继续rebase:
git commit --amend --author="原作者姓名 <原作者邮箱>" --no-edit git rebase --continue - 重复步骤3,直到所有目标提交修改完成。
注意:如果仓库已经推送到远程,修改历史后需要执行
git push --force强制推送,这会覆盖远程历史,务必提前和团队成员沟通,避免代码冲突。
内容的提问来源于stack exchange,提问作者dev-rifaii
相关产品推荐
相关产品推荐

