我有一个本地分支,说hotfix
。我用
$ 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删除它?
答案 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
分支,然后删除仓库中任何过时的远程跟踪分支。