git中的错误:您只能在此存储库中推送自己的提交

时间:2018-10-19 05:32:35

标签: git commit bitbucket-server

昨天,当我尝试将提交提交回购时,我开始收到错误,该如何解决?而且我不是这个仓库的管理员。

remote: You can only push your own commits in this repository
remote: Commit commitName was committed by <myName> <my@users.noreply.github.com>
To ssh://bitbucket.awg.ru/repo
 ! [remote rejected] branchName -> branchName (pre-receive hook declined)
error: failed to push some refs to 'ssh://git@bitbucket.awg.ru/repo'

更新

谢谢大家,问题解决了。问题出在位存储桶方面,admininstator更改了一些选项。现在一切正常。

5 个答案:

答案 0 :(得分:2)

您需要先设置标识,然后再将其推入位桶

git config --global user.email "Your Email"
git config --global user.name "Your Name"
git push origin <branch-name>

答案 1 :(得分:1)

谢谢大家,问题解决了。问题出在位存储桶方面,admininstator更改了一些选项。现在一切正常。

更新

根据@Oleg提出的问题。 通常,该问题是由于有位桶挂钩而发生的。该挂钩将拒绝任何包含未推送到服务器的用户提交的提交的推送。

要解决此问题:

  • 您必须对butbucket服务器中的存储库具有管理员权限。
  • 转到服务器中的存储库
  • 然后存储库设置
  • 选择挂钩
  • 禁用验证提交者钩子
  • 您完成了。

答案 2 :(得分:0)

假设您已经按照@Manish R回答完成了git config,然后检查Bitbucket是否未强制执行Verify Committer钩子。参见项目->设置->挂钩

enter image description here

答案 3 :(得分:0)

  1. 转到您的回购浏览器,然后检查您的个人资料(右上角)中的用户名和电子邮件是什么

  2. 在git bash中,根据您的git网站配置文件更新您的详细信息 git config --global user.email“ your@email.com” git config --global user.name“ USERNAME”

  3. 在步骤2中更改用户详细信息后,您将需要撤消提交,然后重做它。

  4. 推送更改 git push

答案 4 :(得分:0)

在办公室机器中处理不同项目时,我遇到了同样的问题。使用我的办公室电子邮件“ asankasi@abc.com”对Git进行全局配置。另一个是GitLab存储库的开源项目,已通过我的gmail帐户进行了身份验证。

GitLab存储库的推送不起作用,显示与上述相同的错误。原因是,提交消息的作者来自我的办公室电子邮件。

在每个存储库中保留不同的提交者名称和电子邮件,对我来说很有效。我已经修改了GitLab存储库的 user.email 。这只是省略了--global标志。 enter image description here

现在,您所有的提交都将来自您为存储库设置的新作者,从而避免了上述错误。