这个问题可能有以下几个原因:
pull
,再执行 push
。我也曾遇到相同的错误,经过尝试了许多方法后,我找到了解决方案。
解决方案 - 访问您的GitHub账户 >>个人资料>> 电子邮件>> “保持我的电子邮件地址私有” - >>取消选中此选项。
注意: - 此错误可能由各种原因引起。这是Push操作失败的原因之一。若要确切地知道原因,请检查Visual Studio的输出窗口。
我遇到了相同的问题,但原因不同。我正在从本地推送全新的分支,所以我知道分支策略不可能是罪魁祸首。但是它仍然不允许我推送它,因此我需要一些真正的错误消息。尝试使用命令行推送解决了这个问题,不幸的是 Visual Studio 没有显示这些细节。
You do not have permission to create ref 'refs/heads/XYZ...'. Please ensure the ref naming convention being used is allowed in this repository.
实际上,我错过了最新仓库政策变更所强制执行的feature/
前缀... 因此,在出现问题时需要检查另一个问题。
我遇到了同样的问题。 请查看分支策略。可能需要批准或拉取请求。
feature/MyBranchName
。我试图将这些更改推送到远程仓库,但似乎最近的政策变化禁止向功能分支推送,这一直导致出现以下错误:这个命令给了我解决问题的线索:在推送到远程仓库时遇到错误:无法将更改推送到远程仓库。请参阅“输出”窗口以获取更多详细信息。
git push origin feature/MyBranchName
(记得包含功能)。消息如下:Total 0 (delta 0), reused 0 (delta 0)
To https://mycompanyname.visualstudio.com/DefaultCollection/TeamProjectName/_git/MyProjectName
! [remote rejected] feature/MyBranchName -> feature/MyBranchName (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)
error: failed to push some refs to 'https://mycompanyname.visualstudio.com/DefaultCollection/TeamProjectName/_git/MyProjectName
我的解决方案是将本地功能分支的更改合并到本地开发分支中,将开发分支推送到远程仓库,并使用该开发分支向我想要推送这些更改的任何分支创建PR。
在我的问题中,我创建了一个分支,然后从本地删除了它,但我没有从远程删除它,然后我又创建了一个同名的分支,然后出现了这个问题。因此,您可以从本地和远程删除旧的分支。
由于我在公司防火墙后面并使用代理进行http/https,因此我必须设置我的git代理:
git config --global http.proxy http://<ip地址>:<端口>
git clone <从Azure DevOps克隆地址>
P.S. 我从类似的Server Fault答案中窃取了我的答案:https://serverfault.com/questions/663504/can-browse-but-cant-ping