我遇到一个“怪异”问题,可能是因为我做错了什么或忘记做其他事情了,但是现在每次我运行以下命令时:
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
...
答案 0 :(得分:2)
我想以评论的形式发布它,但似乎我对StackOverflow来说是个新手,所以做不到。
.gitconfig文件中的分支列表是您曾经签出的所有远程分支。
它是全自动的,不需要人工干预。
实际上,它允许设置多个分支以推送到您的分支或从您的分支合并。
this other post中给出了一个非常好的解释: