Git远程两个分支同名不同情况

问题描述 投票:0回答:4
origin/joetest
origin/JoeTest

我有一个问题,我在 git 中有两个远程分支,它们名称相同,大小写不同。

我无法在 Visual Studio Online 中弄清楚要做什么,我可以看到差异,但由于冲突而无法合并它们。

Visual Studio 和 git bash 中的 git 工具无法区分这两种情况,并且处理它们的人员现在同步已关闭,其中一种情况下有一些提交,另一种情况下有一些提交。

有什么想法我们到底能做什么吗?

谢谢

git bash
4个回答
14
投票

在具有区分大小写的文件系统的操作系统上克隆存储库,例如Linux,然后重命名其中一个分支,推送它,并删除旧分支:

git clone <url> repo
cd repo
git checkout -b joetest2 origin/JoeTest
git push origin joetest2:joetest2
git push origin :JoeTest

至于为什么 Git 会出现不同大小写的分支名称问题,请参阅相关问题


0
投票

如果涉及 GitLab,则仅描述执行此操作的方法。

我们有 2 个名称相似的分支机构: (1)develop--官方分支 (2) Develop——坏分支 仅外壳不同。

无法将错误的“Develop”分支拉入 SourceTree,因为两个分支的名称相似。

这就是解决方法:

  1. 我们需要将错误的分支重命名为“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 中。

  2. 将 Develop_Bad 合并到您的官方开发分支中,解决任何合并冲突。将更改推送到远程。

  3. 删除GitLab门户中的坏分支“Develop”、“Develop_Bad” (a) 前往Gitlab的GitLab门户 //Repository/Branches https://gitlab.com/mobilityone/GEMS/-/branches (b) 在“活动分支”部分下,查找坏分支“开发” (c) 在此条目旁边,有一个删除分支图标(垃圾箱图标)。在确保不会丢失任何数据后,单击此按钮可删除分支。 (d) 对 Develop_Bad 执行相同操作。


0
投票

这就是我所做的:

  1. 选择一个分支并使用不同的名称创建一个副本。
  2. 合并到另一个分支。
  3. 删除存在案例问题的两个分支。
  4. 使用您想要关闭的任何“正确”案例重新创建一个分支 复制分支或任何新名称。
  5. 删除复制分支。

现在你应该有一个合并的分支。


-1
投票

我刚刚发现了一些神奇的东西,它可以在 Windows 下运行。我有两个目录

XUnitRemoteXunitRemote

我做了以下事情

 git mv XunitRemote XUnitRemote.todo
 git mv XUnitRemote.todo XUnitRemote

并且它刚刚起作用了

© www.soinside.com 2019 - 2024. All rights reserved.