Git 不小心拉下了同名的树枝
我不小心拉下了一个与本地分支同名的分支Git 不小心拉下了同名的树枝,git,branch,git-branch,branching-and-merging,Git,Branch,Git Branch,Branching And Merging,我不小心拉下了一个与本地分支同名的分支 * 909a2b5 - (HEAD, feature/form) xxxx <imrane> * c9d6bc5 - xxxx <imrane> | * 6e96409 - (origin/feature) xxx <anandmv> |/ * 38e35d8 - (origin/develop, origin/HEAD, develop) xxx <imrane> 然后尝试跟踪远程分支,并得到以下
* 909a2b5 - (HEAD, feature/form) xxxx <imrane>
* c9d6bc5 - xxxx <imrane>
| * 6e96409 - (origin/feature) xxx <anandmv>
|/
* 38e35d8 - (origin/develop, origin/HEAD, develop) xxx <imrane>
然后尝试跟踪远程分支,并得到以下错误
git checkout --track origin/feature
error: there are still refs under 'refs/heads/feature'
fatal: Failed to lock ref for update: Is a directory
问题:1.如何在不丢失功能/表单上的提交的情况下进行恢复
2.如何在没有命名冲突的情况下拉下分支?您对您的情况有点误解:
- 你不需要还原任何东西,你没有丢失任何东西
- 您的情况如下:您有一个名为
的本地分支,远程分支有一个名为feature/form
的分支。现在这可能会让人惊讶,但这些名称相互冲突feature
实际上创建了一个名为“feature”的文件夹,其中包含一个名为“form”的分支。因此,您无法创建一个名为“feature”的分支,因为具有该名称的文件夹已经存在feature/form
尝试创建名为“feature”的分支,这是不可能的,因此失败git checkout——跟踪原点/feature
- 关于问题2:嗯,只是命名冲突——这两个分支不能在本地repo中共存。但是您可以使用远程
功能
分支,而无需删除或重命名本地
分支,尽管我不建议这样做,因为很容易获得配置在那里用过功能/表单
- 运行此命令:
将生成名为git checkout -b mylocalname --track origin/feature
的本地分支,该分支跟踪远程mylocalname
源站上的远程分支
功能
- 你不需要还原任何东西,你没有丢失任何东西
- 您的情况如下:您有一个名为
的本地分支,远程分支有一个名为feature/form
的分支。现在这可能会让人吃惊,但这些名称冲突。feature
实际上创建了一个名为“feature”的文件夹,其中有一个名为“form”的分支因此,您无法创建名为“feature”的分支,因为已存在同名文件夹feature/form
尝试创建名为“feature”的分支,这是不可能的,因此失败git checkout——跟踪原点/feature
- 关于问题2:嗯,只是命名冲突——这两个分支不能在本地repo中共存。但是您可以使用远程
功能
分支,而无需删除或重命名本地
分支,尽管我不建议这样做,因为很容易获得配置在那里用过功能/表单
- 运行此命令:
将生成名为git checkout -b mylocalname --track origin/feature
的本地分支,该分支跟踪远程mylocalname
源站上的远程分支
功能
- 您对自己的处境有点误解: