【问题标题】:Unknown git branch checked out未知的 git 分支签出
【发布时间】:2017-07-23 15:56:36
【问题描述】:

我有一个名为 ChartFeature 的分支,但我不小心输入了 git checkout CHartFeature 并最终在 powershell/poshgit 中输入了这个:

C:\git\Charting [CHartFeature]> git status
On branch CHartFeature
nothing to commit, working tree clean

这里发生了什么?如果我查看 SourceTree,它不会显示分支,但是当我将文件提交到我从未创建的这个分支时,我可以(并且让自己陷入困境)。 (我从未输入过git checkout -b CHartFeature,但我确实需要将其合并到ChartFeature。)

如果我列出本地分支,则此错误分支不存在:

C:\git\Charting [CHartFeature]> git branch
  ChartFeature
  develop
  master

当我输入git checkout CHartFeature 而没有创建那个分支时,git 在做什么?我在那里所做的提交发生了什么?

此外,输入git branch -d CHartFeature 是否安全?如果我这样做会怎样?

【问题讨论】:

  • 你在用windows吗?
  • 这看起来像是其他人在前一段时间创建了这个分支并意外推送了它。
  • 如果您在 Windows 上,文件名(通常)不区分大小写,您可以检查分支的任何大小写组合,但您仍然在正确命名的分支上。我刚刚签出MAster,提交了更改并检查了日志,看起来不错,然后我签出了master,检查了日志,我的提交存在。我假设git checkout X 只是检查是否有可以在 refs 文件夹下以该名称打开的文件,并且在 Windows 上存在,即使实际文件名是 x
  • @LeGEC 是的,Windows 7
  • @ckruczek 不,绝对不是。

标签: git git-branch git-merge


【解决方案1】:

由于 Windows 中的大小写敏感,似乎是这个问题。

尝试手动将./.git/refs/heads/CHartFeature 重命名为ChartFeature。或.git 文件夹中的任何CHartFeature

【讨论】:

  • 重命名分支的推荐方法是使用git branch -m,而不是手动修复.git文件夹中的内容。
  • @LasseV.Karlsen 理论上 git branch -m 不应该工作,因为从未创建过具有不同名称的分支。 OP 使用了 git checkout 而没有 -b 选项。
  • 手动重命名有点棘手,因为您还应该重命名 reflog 文件 (.git/logs/refs/heads/CHartFeature)。 @kopranb:如果有一个(并且只有一个)匹配 origin/* 远程跟踪分支,则会自动假定 -b。在这种情况下,有。
  • @torek 确实如此,但它并没有真正创建分支,因为git branch 没有列出它。我不确定 OP 是如何发生合并冲突的,因为他的提交应该用正确的名称更改了分支的尖端。
  • @kopranb:我没有他的系统,但我认为这里的问题是它确实创建了一个分支,就像发生的那种裂脑方式这里:部分 Git 认为这两个分支名称不同,并将它们视为不同,部分认为它们相同并以这种方式对待它们,最终结果是不良行为。参见stackoverflow.com/a/38494084/1256452stackoverflow.com/a/41307509/1256452。我认为这很快就会在新的 Git 中得到解决。
【解决方案2】:

检查你的仓库中有哪些分支:

git branch
git branch -r  # view remote branches

如果CHartFeature 存在,但ChartFeature 不存在,请尝试重命名当前分支:

git branch -m ChartFeature

【讨论】:

  • @MattW:在以下分支中:ChartFeatureCHartfeatureorigin/ChartFeatureorigin/CHartFeature,你看到了哪些?
  • 在 OP 上查看 cmets
猜你喜欢
  • 2018-11-27
  • 1970-01-01
  • 1970-01-01
  • 2019-04-13
  • 2012-07-03
  • 2017-11-25
  • 2010-12-19
  • 2018-12-11
相关资源
最近更新 更多