Git删除TFS Git存储库中的远程分支 我们使用Git在Team Foundation服务中,我们试图通过运行以下命令找到一个删除远程分支的方法。 git push origin --delete TheBranchName

Git删除TFS Git存储库中的远程分支 我们使用Git在Team Foundation服务中,我们试图通过运行以下命令找到一个删除远程分支的方法。 git push origin --delete TheBranchName,git,tfs,azure-devops,Git,Tfs,Azure Devops,远程服务器继续拒绝,出现以下错误 ! [remote rejected] TheBranchName (TF401026: The ForcePush permission is required to perform this action.) error: failed to push some refs to 'https://xxx.visualstudio.com/DefaultCollection/_git/Xxxxxx' 知道如何在TFS中为用户设置正确的权限吗?来自git p

远程服务器继续拒绝,出现以下错误

 ! [remote rejected] TheBranchName (TF401026: The ForcePush permission is required to perform this action.) error: failed to push some refs to 'https://xxx.visualstudio.com/DefaultCollection/_git/Xxxxxx'
知道如何在TFS中为用户设置正确的权限吗?

来自git push手册页:

-f
--force
    Usually, the command refuses to update a remote ref that is not an ancestor of the
    local ref used to overwrite it. This flag disables the check. This can cause the
    remote repository to lose commits; use it with care.

看起来您试图删除的分支不是您所在分支的祖先-添加此-force参数并查看是否有帮助。

要删除远程分支,可以使用:

git push origin :TheBranchName

在第一个答案和第一个评论中,回答了您的问题:

有人在远程回购中启用了一个禁止删除的钩子——这样做通常是为了防止有人将重定基础的分支推入回购。我维护了一个相当大的git存储库集合,它们都是以这种方式配置的,尽管没有使用钩子


查看远程存储库中的hooks/目录。将有一个名为update的脚本;这就是拒绝您删除分支的原因。

可以访问存储库的安全选项,网址为 1.代码->资源管理器 2.从资源管理器中选择一个回购表单 3.在存储库的详细信息中,您应该单击资源管理器旁边的存储库名称。 4.选择“管理存储库…”。。。菜单


在这里,您可以配置每个参与者组和单个用户对存储库及其分支的权限。“重写和销毁历史强制推送”选项应该是“允许”或“继承的允许”才能强制推送。

我在这个问题上找到了一种在VSO中删除分支的方法。对于在这里登陆的其他人来说,我有一个流程有点麻烦,但很有效。从分支创建拉取请求。创建拉取请求后,放弃它。一旦放弃请求,系统将显示一个“删除源分支”按钮。单击该按钮可删除分支。

我想编辑,但我没有这样做的声誉

在版本14102.25423.0 Team Foundation Server 2015更新3中,可以在“

”中访问存储库的安全/权限选项。 代码/浏览器 从资源管理器中选择一个存储库 单击三个点。。。在寄宿地的名字旁边。 选择安全性
我只需要打开Git UI工具,打开回购协议,然后从那里删除分支,就可以了。我无法从TFS执行此操作。

您似乎没有足够的权限执行此操作。命令是正确的。问题是指TFS,它不支持远程挂钩。是的,但不是通过hooks/目录-您必须编写一个TFS事件处理程序,例如,如果它能工作就好了。我刚刚尝试过-单击放弃后,只有重新激活按钮,没有任何删除选项。我尝试了git push origin-删除BranchName,但出现了一个错误,我没有所需的权限-然后我按照您的建议使用git push origin:BranchName,并提示我输入凭据,然后工作了!这是如何/为什么工作的?我必须明确地添加我自己,并给我自己那个许可,它工作了。