我做了一个Git提交,然后不得不进行一些配置更改(特别是与"电子邮件"相关的配置( 因此,我的组织似乎添加了一些预提交钩子/检查,用于检查电子邮件地址是否应与某些特定值匹配
现在我确实将"电子邮件"更新为预期值,并且正在尝试立即推送。但是,我仍然收到错误(还显示较早/旧值(; 无效的提交电子邮件
如果我转到 Tortoise Git> 设置并单击编辑全局 .gitconfig,我会看到更新的值
如果我这样做
git config --list
从我的项目文件夹(我尝试推送的地方(,我可以看到它具有更新的值 还在其他几个地方(文档(检查了 .gitconfig,它也有更新的值。 我的问题是为什么 Git 在我尝试推送时看到旧值而不是更新的值。
PS:我主要使用 TortoiseGit,但我确实尝试手动运行"git push"命令以及同样的问题。
您的公司没有使用提交钩子,而是使用服务器端接收钩子。
您的电子邮件地址将存储为所有提交的元数据,每次您尝试将新提交推送到服务器时,都会检查元数据。
更改元数据(对于未推送的提交(的唯一方法是执行变基。
为此,请打开日志对话框,选择最新推送的提交,然后选择"变基到此提交"。在变基对话框中,选择 force(因为您想在同一分支上更改此历史记录(并将所有提交标记为"编辑"。开始变基并单击"编辑/拆分提交"。- 提交时,在提交对话框中选择"设置作者",并将当前数据放在那里。