当前分支无法确定

3

在 GitHub 上推送工作一直很顺利。我认为这个问题是从我从 GitHub 检出分支开始的。如何解决?现在当我尝试推送到 GitHub 时,我会收到错误消息“无法确定当前分支。”

此外,我所有的本地提交在我的两个本地分支中都没有显示注释。至少在 xcode 9 UI 中没有。我不太知道如何使用本地 git 检查这些内容,如果有人能指向文档那将会有帮助。


你能上传一个源代码控制导航器的截图,展示所有的分支吗?这将显示Xcode认为的当前分支。你能否通过选择它、右键点击并选择Checkout来检出本地分支?你是如何从GitHub检出分支的?更新你的问题并提供所有这些信息将使人们更容易在这里帮助你。 - Swift Dev Journal
3个回答

21

我曾遇到这个问题,需要在终端里操作:

这个问题很可能是由于“HEAD”未连接引起的。

以下恢复步骤假设您在“HEAD”未连接时进行了更改,并且您希望保留这些更改。

进入您的项目目录并执行:git status

如果出现“HEAD”未连接的信息,则需要:

  • 提交更改:git commit -a -m "在此处填写您的提交注释"
  • 创建本地临时分支:git branch temp
  • 切换到之前的分支(即您想要使用的分支,例如主分支):git checkout master
  • 现在将您最近的更改(来自临时分支)合并:git merge temp

完成了,回到Xcode中,你又回到了你的分支,一切都和之前一样 :)

希望对您有所帮助。


谢谢,我在结账主分支时遇到了“pathspec 'master' did not match any file(s) known to git.”的问题。只需执行git pull即可解决我的问题。 - Naman Vaishnav
1
这正是我所需要的,可能值得一提的是,“temp”分支之后可以被删除。同时,在Xcode打开的情况下进行此操作会使Xcode出现问题 - 必须关闭并重新打开。 - SimonMoss
删除临时分支:https://i.stack.imgur.com/Lbd5h.png - Rehan Ali Khan

3
在命令提示符中按顺序输入以下命令(1-4):
  1. git commit -a -m "在此处输入您的提交消息"
  2. git branch temporary
  3. git checkout master
  4. git merge temporary
现在转到 Xcode 项目中的源代码控制导航窗格,并从“分支”选项卡中删除“temporary”分支。 源代码控制导航窗格图像

1

我在检查之前的提交后遇到了同样的问题,并找到了解决方法。

在Xcode中,转到“源代码控制”>“克隆”>“克隆您要推送的存储库并保存它”,然后删除旧的Xcode项目并用克隆的项目替换它,它应该像往常一样工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接