因此,我们的 git repo 中有一个名为 的分支creative_market
。我运行命令git checkout --track origin/creative_market
,一切正常。分支上应该有的所有更改都creative_market
存在。但是,如果我运行,git pull
我会收到此错误:
您的配置指定与远程的 ref“creative_market”合并,但是未获取这样的 ref。
此外,如果我这样做,git pull origin creative_market
我会得到:
致命:无法找到远程引用 creative_market
致命:远端意外挂断
运行git branch -a
清楚显示:
遥控器/原点/creative_market
我的.git/config
文件显示:
[branch "creative_market"]
remote = origin
merge = refs/heads/creative_market
这与我的文件中的所有其他内容一致.git/config
。
我被难住了。有什么想法吗?
答案1
您收到的消息可能表明creative_market
远程存储库中不再存在该分支。可能是这种情况吗?
您可以使用以下命令修复它:
git checkout --track origin/creative_market
git push origin creative_market
另一种稍微长一点的方法来证明正在发生的事情是执行以下操作:
首先,使用命令创建备份引用git branch creative_market2 origin/creative_market
。然后,运行git fetch -p
以修剪远程中不再存在的远程跟踪分支。如果分支确实从远程中删除,您将看到类似以下内容:
[my-repository]$ git fetch -p
x [deleted] (none) -> origin/creative_market
要在远程存储库上重新创建分支,只需将本地引用推送到该分支:
git push --set-upstream origin creative_market2:creative_market
答案2
修剪分支的本地远程副本
git fetch -p
远程本地分支的上游
git branch --unset-upstream