我知道有人问这个问题,我已经看到了我的答案,但似乎没有任何效果。
这是我的工作流程。创建一个新分支并对其进行处理。有时候我会使用多台计算机,所以我把它推到了遥控器上,以便我可以把它拿到别的地方
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。我已经尝试过所看到的所有修剪命令和一切。但它仍然会继续出现。
答案 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
(删除此分支)(您可以通过单击还原来撤消更改并使用Github gui还原分支) >
另一个点::如果收到错误消息“远程:错误:无法删除受保护的分支” ,则表明您的分支已受到保护。
为了获得删除受保护分支的权限,请转到repository in Github -> Settings -> Branches
然后删除限制规则,请确保默认分支是安全的(主)。