可以签出并跟踪 git 分支,但无法拉取

可以签出并跟踪 git 分支,但无法拉取

因此,我们的 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

相关内容