2014-11-04 39 views
4

在Bitbucket上,使用Bitbucket的网络界面,我同步了一个有自己的私人分支的有福的回购出错。我想重写这个幸运回购的历史记录,让它恢复正确的提交。Bitbucket上的Git历史重写[远程拒绝] HEAD - >分支(预接收钩子拒绝)

我克隆包含不正确我的提交和本地得天独厚的回购上,其历史被搞砸了分公司跑

git reset --hard HEAD~1 

这使得克隆的repo回到了我在搞砸之前的提交。

我后来去把我的回购请在使用

git push -f origin development 

到到位桶,但有以下错误

remote: permission denied to force push branch development 
To [email protected]:blessed-repo/blessed-repo.git 
! [remote rejected] HEAD -> development (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:blessed-repo/blessed-repo.git' 

为什么我得到这个错误,以及如何可以使git push工作?

回答

12

在Bitbucket中,有可能使用limit push powers来阻止用户直接推送到分支。

从上面的文档...

用户可以自由地在他们的本地克隆一个分支交互。当 他们试图推送到Bitbucket远程,不允许 推送到分支的用户收到消息,远程拒绝 推送。

您可以看到如何实施典型工作流程。

启用直接对这些分支推到一个分支上回购

转到

回购>设置>分公司管理>阻止历史重新写入(重订)

然后取出分支你正在推动。

这将然后允许您运行git push origin +HEAD

那么你应该分支重新添加到列表中,以防止随意推向回购。

相关问题