origin/joetest
origin/JoeTest
我有一个问题,我在 git 中有两个远程分支,它们名称相同,大小写不同。
我无法在 Visual Studio Online 中弄清楚要做什么,我可以看到差异,但由于冲突而无法合并它们。
Visual Studio 和 git bash 中的 git 工具无法区分这两种情况,并且处理它们的人员现在同步已关闭,其中一种情况下有一些提交,另一种情况下有一些提交。
有什么想法我们到底能做什么吗?
谢谢
在具有区分大小写的文件系统的操作系统上克隆存储库,例如Linux,然后重命名其中一个分支,推送它,并删除旧分支:
git clone <url> repo
cd repo
git checkout -b joetest2 origin/JoeTest
git push origin joetest2:joetest2
git push origin :JoeTest
至于为什么 Git 会出现不同大小写的分支名称问题,请参阅相关问题。
如果涉及 GitLab,则仅描述执行此操作的方法。
我们有 2 个名称相似的分支机构: (1)develop--官方分支 (2) Develop——坏分支 仅外壳不同。
无法将错误的“Develop”分支拉入 SourceTree,因为两个分支的名称相似。
这就是解决方法:
我们需要将错误的分支重命名为“Develop”,但 GitLab 没有为此提供机制。因此,在 GitLab 门户中,我们从旧分支中分支出一个新分支(称为 Develop_Bad)。 (a) 进入GitLab门户Gitlab//Repository/Files。选择坏分支Develop,例如:https://gitlab.com/mobilityone/GEMS/-/tree/Develop (b) 在 [Develop] GEMS/[+] 下拉菜单下,选择 New Branch (c) 将新分支命名为 Develop_Bad 将 Develop_Bad 拉入本地计算机上的 SourceTree 中。
将 Develop_Bad 合并到您的官方开发分支中,解决任何合并冲突。将更改推送到远程。
删除GitLab门户中的坏分支“Develop”、“Develop_Bad” (a) 前往Gitlab的GitLab门户 //Repository/Branches https://gitlab.com/mobilityone/GEMS/-/branches (b) 在“活动分支”部分下,查找坏分支“开发” (c) 在此条目旁边,有一个删除分支图标(垃圾箱图标)。在确保不会丢失任何数据后,单击此按钮可删除分支。 (d) 对 Develop_Bad 执行相同操作。
这就是我所做的:
现在你应该有一个合并的分支。
我刚刚发现了一些神奇的东西,它可以在 Windows 下运行。我有两个目录
XUnitRemote 和 XunitRemote
我做了以下事情
git mv XunitRemote XUnitRemote.todo
git mv XUnitRemote.todo XUnitRemote
并且它刚刚起作用了