【问题标题】:How to remove a remote reference in Git?如何在 Git 中删除远程引用?
【发布时间】:2019-05-12 13:46:28
【问题描述】:

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

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
...

【问题讨论】:

  • 这里的分支是否存在区分大小写的命名问题?
  • @TimBiegeleisen 不是这种情况我不知道 Git 是否将日志保存在某处,但我很确定是否可以找到我何时以及如何从远程删除该分支。跨度>
  • 您是否尝试执行 git remote -v ?它显示了什么?
  • @Djamel 添加到 OP :)
  • 您是否更改了fetch 设置? (git config --get-all remote.origin.fetch 将打印它们;标准是+refs/heads/*:refs/remotes/origin/*。)你有core.fsmonitor 设置吗?

标签: git git-branch git-remote


【解决方案1】:

我想将它作为评论发布,但似乎我在 StackOverflow 上太新手了。

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

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

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

【讨论】:

    猜你喜欢
    • 2012-08-14
    • 2010-11-07
    • 2019-02-05
    • 2013-07-06
    • 2016-07-06
    • 2016-06-26
    • 2019-06-02
    • 2011-05-08
    • 2021-01-28
    相关资源
    最近更新 更多