由于参考分支被删除,无法获取分支
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
它拉取了所有分支,我可以切换到所需的分支并能够毫无问题地推送提交。
我试图使用以下命令拉 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
它拉取了所有分支,我可以切换到所需的分支并能够毫无问题地推送提交。