VSTFS 2015:无法删除远程分支

时间:2017-10-12 14:22:28

标签: git tfs version-control

我有一个使用git的2015年VSTFS设置。不知怎的,我们有两个分支,开发,这是我想保持孤立的分支,因为那是我们的主人。不知何故,还有一个远程分支开发(小写d)。我想删除这个,因为它令人困惑,但我害怕这样做,以防我们遇到问题。

enter image description here

我的问题是,我正在运行VS 2017并且它不会删除远程分支。我通过右键单击团队资源管理器并单击"删除"来完成此操作。

enter image description here

来自输出窗口的消息说明如下:

  

从远程存储库中删除分支时遇到错误:Git进程意外失败。   PushCommand.ExecutePushCommand

所以,我打开一个cli,看看那里有什么。这里的命令是

git branch -d -r origin/<branchname>

但是,我在另一个扔掉的分支上尝试了它,我仍然可以在浏览器的TFS列表中看到它。

我的问题是,如何删除小写开发以确保我不删除大写开发?

更新

似乎我在git实例上缺少ForcePush权限,尽管他是TFS管理员。目前确定这是否是问题的原因。

2 个答案:

答案 0 :(得分:4)

更新2:有关如何删除this previous stackoverflow answer中提供的远程分支的强大执行摘要。我认为遗漏的一件事是,为了执行命令$ git push -d <remote_name> <branch_name>,您需要权限“强制推送”到分支。

更新:这可能是git不区分大小写的问题。请在此处查看博文:https://tosbourn.com/git-branches-seem-to-be-case-insensitive/

原文答案:
我认为git push origin :development会做到这一点。您可以将此视为“将null推送到开发” - 换句话说,删除分支。

我相信当你执行git branch -d -r origin/<branch name>时,你只是删除了本地存储的远程跟踪分支。

答案 1 :(得分:0)

检查已删除的分支是否已选择为远程存储库的默认分支。在这种情况下,您必须为远程存储库选择另一个默认分支。