删除远程分支不会从GitHub中删除

时间:2014-06-14 04:59:06

标签: git github branch

我有一个本地分支,说hotfix。我用

把它放在GitHub上
$ git push -u origin hotfix

然后合并分支后,我想删除它。所以我输入

$ git branch -d hotfix

在本地删除分支。但是,远程分支仍在GitHub上。当然,当我看到我的远程分支时,

$ git branch -r
  origin/HEAD -> origin/master
  origin/hotfix
  origin/master

hotfix仍在那里。那么我试试

$ git branch -r -d origin/hotfix
$ git branch -r
  origin/HEAD -> origin/master
  origin/master
正如预期的那样,

hotfix消失了。

然后我去GitHub看看我的分支,hotfix仍在那里!如何通过命令行从GitHub中删除远程hotfix,而无需在浏览器中导航到GitHub并使用网站UI删除它?

1 个答案:

答案 0 :(得分:3)

你需要推送删除:

git push origin --delete hotfix

(任何git branch命令只会对您的本地仓库产生影响,而不会对GitHub远程命令产生影响)

点击“How to delete a Git branch both locally and remotely?”了解更多信息。

git branch -d -r只删除 remote tracking branch ,即本地仓库的remotes/origin命名空间中存在的分支。 GitHub(实际的远程仓库)永远不会被通知。

您已“成功”删除的是“远程跟踪分支”,它位于您的本地仓库中,用于记录您从该分支的上游仓库获取的最后一个SHA1:那是什么“远程跟踪分支”是

正确的顺序是:

git push origin --delete hotfix
git remote update --prune origin

这将删除GitHub仓库中的hotfix分支,然后删除仓库中任何过时的远程跟踪分支。