Git:无法永久删除远程分支

时间:2014-06-19 19:49:40

标签: git branch

我知道有人问这个问题,我已经看到了我的答案,但似乎没有任何效果。

这是我的工作流程。创建一个新分支并对其进行处理。有时候我会使用多台计算机,所以我把它推到了遥控器上,以便我可以把它拿到别的地方

git branch new_branch
git checkout new_branch
git push -u origin new_branch

我在一台计算机上做一些工作然后合并到掌握和推送。

git checkout master
git merge new_branch

现在我要删除分支。

git branch -d new_branch (this works fine and when I run 'git branch' it only shows local master
git branch -r -d origin/new_branch (now on this computer when i run 'git branch -r' it's gone like it should be)

但是在我删除了远程分支后,无论我在哪台计算机上,如果我都在拉动'或者' git fetch'它重新拉动了new_branch。我已经尝试过所看到的所有修剪命令和一切。但它仍然会继续出现。

2 个答案:

答案 0 :(得分:20)

您必须执行此操作才能删除远程上的分支

git push origin --delete new_branch

这将从远程存储库中删除名为new_branch的分支。 (new_branch是远程的本地分支。换句话说,如果你可以进入远程存储库,使其成为本地存储库,它将有一个名为new_branch的本地分支。是您使用上述命令删除的分支。)

当你这样做时

git branch -r -d origin/new_branch

所有发生的事情是您正在删除本地存储库中的远程分支指针。最后一个命令不会更改远程存储库中的任何内容。

删除遥控器上的分支后(使用上面的第一个命令),git remote prune origin将开始在其他计算机上工作,删除其远程分支origin/new_branch

答案 1 :(得分:0)

为了删除远程分支:

选项1 :使用git cli(分支名称不应包含refs / remotes / origin /的后缀)

git push origin --delete <yourBranchName>

选项2: Go to github -> branches -> search your branch -> click on trashcan(删除此分支)(您可以通过单击还原来撤消更改并使用Gi​​thub gui还原分支) >

另一个点::如果收到错误消息“远程:错误:无法删除受保护的分支” ,则表明您的分支已受到保护。 为了获得删除受保护分支的权限,请转到repository in Github -> Settings -> Branches 然后删除限制规则,请确保默认分支是安全的(主)。

enter image description here