gpt4 book ai didi

git - 我无法 checkout 特定分支, "detached HEAD state"

转载 作者:IT王子 更新时间:2023-10-29 01:05:20 27 4
gpt4 key购买 nike

我和我的 friend 有一个他创建的代码库。然后他创建了一个名为“词法分析器”的分支供我们处理。

问题是虽然他可以在 master 和 lexer 之间来回切换,但对我来说根本不起作用。

最终我只是重新开始(rm -rf repo 然后克隆了 repo)但是仍然无法检查 lexer 分支?

在新克隆的 repo 上:

git branch 给出:

$ git branch
* master

git checkout lexer 给出:

$ git checkout lexer
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

我可以检查 origin/lexer 但我最终处于分离的 HEAD 状态?

$ git checkout origin/lexer master
Note: checking out 'origin/lexer'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

我可以通过这样做来推送到词法分析器分支

git push origin HEAD:lexer

不过,我真的很想解决这个问题。太奇怪了,对他有效,对我却无效?他说他也没有从 git 仓库中得到任何本地更改...

有人知道吗?

最佳答案

我将冒险猜测您在顶层有一个名为 lexer 的目录。由于 git checkout 用于切换分支和重置树中的文件,它可能检测到您没有名为 lexer 的分支,但您确实有路径并选择第二种模式。它适用于你的 friend ,因为他已经有一个 lexer 分支。

最简单的解决方法可能是使用 git branch 创建分支。

git branch --track lexer origin/lexer

应该为你做那件事。然后,您可以使用 git checkout 切换到它。

另一种选择可能是使用 -- 标志进行 git checkout。我还没有尝试过,但我认为它应该有效:

git checkout lexer --

当您添加 -- 时,它之前的词始终被视为分支/提交/树,而路径之后的词始终被视为。

关于git - 我无法 checkout 特定分支, "detached HEAD state",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com