由于参考分支被删除,无法获取分支

Unable to fetch the branch since the reference branches are deleted

我试图使用以下命令拉 git 分支 bugfix/validator-integration-bugfix git fetch && git checkout bugfix/validator-integration-bugfix

但我收到以下错误:

akshaykhale$ git fetch && git checkout bugfix/validator-integration-bugfix
error: cannot lock ref 'refs/remotes/origin/bugfix/connection-failure-bugfix': 'refs/remotes/origin/bugfix' exists; cannot create 'refs/remotes/origin/bugfix/connection-failure-bugfix'
From https://github.com/luxio/luxio-framework
 ! [new branch]          bugfix/connection-failure-bugfix -> origin/bugfix/connection-failure-bugfix  (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/bugfix/migration-datatype-bugfix': 'refs/remotes/origin/bugfix' exists; cannot create 'refs/remotes/origin/bugfix/migration-datatype-bugfix'
 ! [new branch]          bugfix/migration-datatype-bugfix                  -> origin/bugfix/migration-datatype-bugfix  (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/bugfix/validator-integration-bugfix': 'refs/remotes/origin/bugfix' exists; cannot create 'refs/remotes/origin/bugfix/validator-integration-bugfix'
 ! [new branch]          bugfix/validator-integration-bugfix                           -> origin/bugfix/validator-integration-bugfix  (unable to update local ref)

可能的原因可能是(只是猜测):

我正在获取 bugfix/validator-integration-bugfix 分支,该分支是从其他未在我的开发系统上克隆的分支创建的。

任何解决问题的方法

提前致谢!!!

您团队中有人创建了一个名为 bugfix 的分支并将其推送到 origin/bugfix。因此,Git 将不允许您创建名称格式为 origin/bugfix/* 的分支。

我猜这个分支被错误地命名为 bugfix,所以解决方案是给这个分支一个更具描述性的名称。

要在本地重命名 bugfix 分支:

git branch -m bugfix bugfix/sensible-name

然后在您的遥控器上重命名它:

git push origin :bugfix bugfix/sensible-name

然后设置重命名的本地分支来跟踪重命名的远程分支:

git push origin -u bugfix/sensible-name

以下对我有用:

git fetch --prune

使用 git prune 它拉取了所有分支,我可以切换到所需的分支并能够毫无问题地推送提交。

谢谢@MarkAdelsberger