【发布时间】:2017-07-05 13:58:28
【问题描述】:
背景: 操作系统:Windows Git版本:2.11.0
根据我们的政策,我们是: 1.在未推送的提交的提交消息中添加几个字段在推送前 2. 远程验证推送的提交消息是否包含必填字段
我们正在通过 pre-push 挂钩期间触发的“git --filter-branch --msg-filter”编辑提交消息。
当尝试通过 SSH 推送时,git 在重新编写之前推送提交 SHA。 例如:
- 未推送的提交 SHA 为:38dad1575a3c4239c967564c21347aad3d5b2a55
- 运行 git push
- 预推送运行并重写提交。
- 现在我的提交 SHA 是:8115fdfb3be86a6b51284cd1d278bd55017990ce。
以前的提交 38dad1575a3c4239c967564c21347aad3d5b2a55 现在存储在 /refs/original/refs 下 - 由于提交 38dad1575a3c4239c967564c21347aad3d5b2a55(未编辑的提交)在其提交消息中不包含必要的字段,因此推送到 repo 失败。
此行为仅在通过 SSH 工作时发生。对于使用 HTTPS 的用户,一切正常。
我们将不胜感激。
谢谢!
【问题讨论】: