我只是标记了一个版本,我试图将标签推送到服务器,但我收到以下错误
$ git push --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 190 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: FATAL: W refs/tags/v3.1.01 project xxsmith DENIED by refs/.*
remote: error: hook declined to update refs/tags/v3.1.01
To ssh://git@server/project
! [remote rejected] v3.1.01 -> v3.1.01 (hook declined)
error: failed to push some refs to 'ssh://git@server/project'
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我拥有该帐户的完全权利.
我正在使用gitolite ..它可以是以下设置的东西
repo project
RW+ master = @releasers # allow @releasers access to release branch
- master = @developers # deny @developers access to release branch
RW develop = @developers # allow @developers access to development branch
RW+ develop = @releasers # allow @developers access to development branch
- = @all # deny all other permissions
Run Code Online (Sandbox Code Playgroud)
有一个较旧的StackOverflow问题解决了同样的问题.综上所述:
您需要RW+更改/删除更改权限(更改您的gitolite配置).基于您的gitolite配置,您可能需要:
RW+ refs/tags = @releasers # Allow @releasers to push tags
之前阻止这种情况的是否认所有其他权限.
- = @all # deny all other permissions
更新Gitolite可能有所帮助(确保更新密钥和回购)
从这看起来,服务器端挂钩可能会阻止您推送标签.
在远程端,查看git文件夹中的hooks文件夹.预接收或更新挂钩可能是问题挂钩.
另一方面,您也可以尝试强制推送标签git push -f --tags.
| 归档时间: |
|
| 查看次数: |
1134 次 |
| 最近记录: |