我运行git branch -a
* master
remotes/origin/test
remotes/origin/master
我想删除我的远程分支
我试过了
git push origin --delete remotes/origin/test
我得到了
错误:无法删除'remotes/origin/test':远程引用不 存在
怎么会不存在呢?
我做了一个git分支-a,我看到它列出来了。
我错过什么了吗?
我运行git branch -a
* master
remotes/origin/test
remotes/origin/master
我想删除我的远程分支
我试过了
git push origin --delete remotes/origin/test
我得到了
错误:无法删除'remotes/origin/test':远程引用不 存在
怎么会不存在呢?
我做了一个git分支-a,我看到它列出来了。
我错过什么了吗?
当前回答
命令git branch -a显示本地存储库中存在的远程分支。这听起来可能有点令人困惑,但要理解它,您必须理解远程分支和存在于远程存储库中的分支之间的区别。远程分支是映射到远程存储库分支的本地分支。因此,远程分支的集合表示远程存储库的状态。
更新远程分支列表的常用方法是使用git fetch。这将自动从远程获取更新的分支列表,并在本地存储库中设置远程分支,还将获取您可能丢失的任何提交对象。
但是,默认情况下,git获取不会删除在远程上不再有对应分支的远程分支。为了做到这一点,你需要显式地修剪远程分支列表:
git fetch --prune
这将自动清除远程上不再存在的远程分支。然后,git branch -r会显示一个更新后的远程上真正存在的分支列表:以及那些你可以使用git push删除的。
也就是说,为了使用git push -delete,你需要在远程存储库上指定分支的名称;不是远程分支的名称。因此,要删除分支测试(由远程分支origin/test表示),可以使用git push origin——delete test。
其他回答
对我来说,这是有效的$▶git branch -D -r origin/mybranch
细节
$ ▶ git 分支 -a |格雷普·米布兰奇 远程/源/我的分支
$ ▶ git 分支 -r |格雷普·米布兰奇 原产地/我的分支
$▶git分支 开发 *功能/用于
▶git push origin——删除mybranch 错误:无法删除'mybranch': remote ref不存在 错误:无法将一些引用推到'git@10.102.100.38:config/myrepo.git'
▶git branch -D -r origin/mybranch 删除远程分支来源/mybranch (was 62c7421)。
$ ▶ git 分支 -a |格雷普·米布兰奇
$ ▶ git 分支 -r |格雷普·米布兰奇
有一个快捷方式可以在原点中删除分支:
Git push origin:<branch_name>
这和git push origin——delete <branch_name>是一样的
这应该会有帮助:
git获取 git push origin——delete branchName
获取远程分支的列表
git fetch # synchronize with the server
git branch --remote # list remote branches
你应该得到一个远程分支的列表:
origin/HEAD -> origin/master
origin/develop
origin/master
origin/deleteme
现在,我们可以删除分支:
git push origin --delete deleteme
remotes/origin/test的含义是,在远程服务器origin中有一个名为test的分支。所以命令是
git push origin --delete test