网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

如何快速批量修改Git提交记录中的用户信息

时间:2023-02-06 16:09

人气:

作者:admin

标签: 脚本  Git 

导读:使用该脚本,替换其中 [Your Old Email] [Your New Author Name] [Your New Email] 之后在 git 目录中执行即可。...

	

内网提交需要校验企业邮箱,但有时邮箱设置错误导致 commit 的邮箱有问题,此时可以通过修改已提交记录中的邮箱来修复,无需重新提交。

经过检索,发现两种方法,分别适用于修改一次和修改多次,引文在最后都有注明。

修改最近一次提交的邮箱

$gitcommit--amend--author="NewAuthor"

批量修改邮箱

使用该脚本,替换其中 [Your Old Email] [Your New Author Name] [Your New Email] 之后在 git 目录中执行即可。

#!/bin/sh

gitfilter-branch--env-filter'

an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"

if["$GIT_COMMITTER_EMAIL"="[YourOldEmail]"]
then
cn="[YourNewAuthorName]"
cm="[YourNewEmail]"
fi
if["$GIT_AUTHOR_EMAIL"="[YourOldEmail]"]
then
an="[YourNewAuthorName]"
am="[YourNewEmail]"
fi

exportGIT_AUTHOR_NAME="$an"
exportGIT_AUTHOR_EMAIL="$am"
exportGIT_COMMITTER_NAME="$cn"
exportGIT_COMMITTER_EMAIL="$cm"

Q&A

  • A previous backup already exists in refs/original/
Cannotcreateanewbackup.
Apreviousbackupalreadyexistsinrefs/original/
Forceoverwritingthebackupwith-f

出现这一句说明之前曾经执行过 git filter-branch ,在 refs/original/ 有一个备份,这个时候只要删掉那个备份即可,删除备份命令为:

$gitupdate-ref-drefs/original/refs/heads/master
#或
$gitfilter-branch-f--tree-filter-f'rm-ftest'----all

参考文献

  • git 修改提交作者和邮箱
  • git 修改历史提交的用户名和邮箱

审核编辑 :李倩


温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信