Git推送错误的用户和预接收挂钩拒绝

时间:2016-09-07 02:51:35

标签: git push hook

我发现它与其他人遇到的不同。 我有两个问题。

  1. 使用名为' v3'的用户进行Git推送,但此用户不是我的。

     命令是:

    enter image description here
  2. 但Git推送名为' v3'。

    的用户
    1. 删除'推送'用户权利' v3',它告诉我预先接收挂钩拒绝'当Git推送
    2. 错误讯息:

      总计9(delta 4),重复使用0(delta 0) remote:GitLab:你没有获得许可 错误:未能将某些参考文献推送到http://gitlab.zank.mobi/zank/zank_live_service.git' 至http://gitlab.zank.mobi/zank/zank_live_service.git ! refs / heads / develop:refs / heads / develop [远程拒绝](pre-receive hook拒绝)

2 个答案:

答案 0 :(得分:1)

您可以执行交互式rebase来更改提交作者。

git rebase -i {commit hash here}

然后在提交前更改操作以进行编辑和保存。 保存后使用以下命令更改作者并完成rebase。

git commit --amend --author="New Author Name <newemail@address.com>"
git rebase --continue

然后,您可以使用git log检查您的提交。上述提交的作者应该是新作者。

当您按下git push --force-with-lease

<强>更新

“预接收挂钩拒绝” - 此错误可能是由于以下答案中提到的原因造成的。

  1. Git push error pre-receive hook declined
  2. Git error when trying to push -- pre-receive hook declined
  3. 有一个连接的脚本,它检查被推送的提交是否足够好,如果没有,那么它会拒绝它并给出这个错误。因此,请检查git log以获取您正在推送的提交,并在此处检查是否有任何提交来自没有权限的用户,或者其中一个提交中的某些代码会触发该错误。

答案 1 :(得分:0)

您的提交与存储库维护者的规则不兼容,您只需要 git reset --hard HEAD ~ 1 之后按照维护者的规则承诺就可以了