【问题标题】:Git config change issue: Cannot push commits because of server-side receive hookGit 配置更改问题:由于服务器端接收挂钩而无法推送提交
【发布时间】:2020-10-18 10:25:03
【问题描述】:

我做了一个 Git Commit,然后不得不进行一些配置更改(特别是与“电子邮件”相关的配置) 因此,我的组织似乎添加了一些预提交挂钩/检查,检查电子邮件地址是否应匹配某个特定值

现在我确实将“电子邮件”更新为预期值,并正在尝试推送。但是,我仍然收到错误(还显示早期/旧值); 提交的电子邮件无效

如果我转到 Tortoise Git > Settings 并单击 Edit global .gitconfig,我会看到更新后的值

如果我这样做

git config --list

从我的项目文件夹(从我尝试推送的位置),我可以看到它具有更新的值 还检查了其他几个地方(文档)中的 .gitconfig,它也有更新的值。 我的问题是为什么当我尝试推送时 Git 看到的是旧值而不是更新后的值。

P.S:我主要使用 TortoiseGit,但我也尝试手动运行“git push”命令,但同样的问题。

【问题讨论】:

  • 我认为你会得到你正在推动的旧提交的错误。也许在日志中检查所有提交的电子邮件(您可以将列电子邮件添加到 tortoisegit 的日志中)

标签: git bitbucket git-commit tortoisegit git-config


【解决方案1】:

贵公司没有使用提交挂钩,而是使用服务器端接收挂钩。

您的电子邮件地址存储为所有提交的元数据,每次您尝试将新提交推送到服务器时,都会检查元数据。

更改元数据(对于未推送的提交)的唯一方法是执行变基。

为此打开日志对话框,选择最新推送的提交并选择 Rebase on this commit。在 rebase 对话框中选择 force(因为您想在同一分支上更改此历史记录)并将所有提交标记为“编辑”。启动变基并单击“编辑/拆分提交”。 - 提交时在提交对话框中选择“设置作者”并将您当前的数据放在那里。

【讨论】:

  • @testndtv 如果它对您有帮助,请考虑投票/接受此答案,或者对仍然缺少的内容发表评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 2018-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-10
相关资源
最近更新 更多