【发布时间】:2011-09-23 22:54:50
【问题描述】:
我有一个“功能/管理”分支,它正在跟踪 多个 分支(起源/功能/管理和开发,后者是本地的) - 我想删除 本地 em> tracking(所以我的本地分支只跟踪远程分支的origin/feature/admin)。
我试过用 git branch -dr development 删除它,但是...
错误:找不到远程分支“开发”。
有什么建议吗?
【问题讨论】:
标签: git git-branch
我有一个“功能/管理”分支,它正在跟踪 多个 分支(起源/功能/管理和开发,后者是本地的) - 我想删除 本地 em> tracking(所以我的本地分支只跟踪远程分支的origin/feature/admin)。
我试过用 git branch -dr development 删除它,但是...
错误:找不到远程分支“开发”。
有什么建议吗?
【问题讨论】:
标签: git git-branch
我找到了这个小难题的答案。
在 repo 的 Git Config 文件中,我删除了这两行(使用 Gity):
键:
branch.feature/admin.remote
branch.feature/admin.merge
价值观:
.
refs/heads/development
(分别)
这删除了本地跟踪。我猜是“。”表示本地。
【讨论】:
名称“开发”不是远程分支,因为它不包含远程的名称。看看git branch -a的输出:
* develop
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
远程分支都以remotes/ 前缀开头。所以要删除远程“开发”分支,我会运行:
git branch -dr origin/develop
虽然这样做了,但下次我做git pull时分支会回来。
【讨论】:
git show显示跟踪信息,然后运行git branch -dr origin/develop,然后再次运行git show,可以看到跟踪关联不再存在。这只是在您的本地存储库中进行更改,对远程存储库没有影响。
git branch -dr development - 如果我想删除远程跟踪,那会奏效,你的建议也会奏效。