如何在Git中删除远程引用?

时间:2018-12-11 14:33:03

标签: git git-branch git-remote

我遇到一个“怪异”问题,可能是因为我做错了什么或忘记做其他事情了,但是现在每次我运行以下命令时:

git checkout master && git pull origin master && git fetch -p

我遇到以下错误:

Already on 'master'
From ssh://reponame
 * branch                  master     -> FETCH_HEAD
Already up to date.
fatal: Couldn't find remote ref refs/heads/global/CDP-5353_fix

我尝试了以下操作(从here获得):

E:\repo (master -> origin)
λ git branch -r | grep CDP-5353_fix

E:\repo (master -> origin)
λ git branch | grep CDP-5353_fix

分支CDP-5353_fix在本地和/或远程不存在。

E:\repo (master -> origin)
λ git branch --unset-upstream

E:\repo (master -> origin)
λ git checkout master && git pull origin master && git fetch -p
Already on 'master'
From ssh://reponame
 * branch                  master     -> FETCH_HEAD
Already up to date.
fatal: Couldn't find remote ref refs/heads/global/CDP-5353_fix

同一问题...

E:\repo (master -> origin)
λ git branch -d -r origin CDP-5353_fix
error: remote-tracking branch 'origin' not found.
error: remote-tracking branch 'CDP-5353_fix' not found.

E:\repo (master -> origin)
λ git config --unset branch.CDP-5353_fix.remote

E:\repo (master -> origin)
λ git config --unset branch.CDP-5353_fix.merge

E:\repo (master -> origin)
λ git checkout master && git pull origin master && git fetch -p
Already on 'master'
From ssh://reponame
 * branch                  master     -> FETCH_HEAD
Already up to date.
fatal: Couldn't find remote ref refs/heads/global/CDP-5353_fix

同一问题...

我在这里想念的是什么?该消息没有弄乱我的存储库或其中的任何内容,但很烦人。有帮助吗?

更新1:

git remote -v的输出:

λ git remote -v                                           
origin  ssh://reponame (fetch) 
origin  ssh://reponame (push)  
  

注意:我要隐藏真实的回购名称,因为它属于公司   我为之工作,他们不喜欢分享这种东西。

更新2:

git config --get-all remote.origin.fetch的输出:

λ git config --get-all remote.origin.fetch
+refs/heads/*:refs/remotes/origin/*
+refs/heads/CDP-5288:refs/remotes/origin/CDP-5288
+refs/heads/CDP-5299:refs/remotes/origin/CDP-5299
+refs/heads/global/CDP-5353_fix:refs/remotes/origin/global/CDP-5353_fix
...

1 个答案:

答案 0 :(得分:2)

我想以评论的形式发布它,但似乎我对StackOverflow来说是个新手,所以做不到。

.gitconfig文件中的分支列表是您曾经签出的所有远程分支。
它是全自动的,不需要人工干预。

实际上,它允许设置多个分支以推送到您的分支或从您的分支合并。

this other post中给出了一个非常好的解释: