本周刚遇到的问题,创建新分支的时候,报错信息如下:
cannot lock ref 'refs/heads/***/***': 'refs/heads/***' exists; cannot create 'refs/heads/***/***'
1、问题原因
分为两种情况:一是本地已经存在同名分支;二是已经存在同名模式的分支。
很明显,从上图的报错来看,属于第二种情况。
项目中已经存在了hsl的分支,新分支是hsl/20220721,对于这种情况,我个人理解,可以把hsl分支当成一个文件,本来这个文件有自己的内容,现在有一个新分支hsl/20220721,hsl就变成了文件夹,20220721变成了文件,这会直接影响到原来的hsl分支。
2、解决方案
以上述截图为例:
方案一:删除分支
(1)删除远程hsl分支
// 这里的remote一般是origin或者upstream
// 可以通过git remote -v 检查远程分支名称,确认需要删除分支的哪个远程位置
git push <remote> --delete hsl
(2)删除本地分支
// 注意:
// 1、执行此命令的时候不要在hsl分支上哦,git是不允许删除我们当前所在的分支的
// 2、-d表示当分支已经被推送并与远程分支合并时才会删除,如果分支未被推送或合并,请使用-D
git branch -d hsl
方案二:修改分支名称
具体操作步骤见 如何修改分支名称 文章来源:https://www.toymoban.com/news/detail-614620.html
接下来就可以正常的新建分支啦。 文章来源地址https://www.toymoban.com/news/detail-614620.html
到了这里,关于【Git】创建分支报错(cannot lock ref ‘refs/heads/***/***‘)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!