【发布时间】:2016-01-25 08:22:41
【问题描述】:
我从 master 签出了一个提交/分支,然后签回 master 并写了一些东西。在那之后,我犯了,但我最终得到了一个分离的 HEAD。为什么?
这是我所做的:
- 创建一个新项目并创建 git 存储库。
- git 添加
- git 提交
- 输入一些单词
- git 提交
- 结帐到上一次提交
-
结帐回来
输入一些单词
-
尝试提交;它提示有一个分离的头。
IntelliJ IDEA 的控制台显示:
17:08:58.143: cd C:\Users\jiahao\IdeaProjects\testtt\src
17:08:58.143: git init
Initialized empty Git repository in C:/Users/jiahao/IdeaProjects/testtt/src/.git/
17:09:16.331: cd C:\Users\jiahao\IdeaProjects\testtt\src
17:09:16.331: git -c core.quotepath=false add --ignore-errors -- C.java
17:09:24.407: cd C:\Users\jiahao\IdeaProjects\testtt\src
17:09:24.407: git -c core.quotepath=false commit --only -F C:\Users\jiahao\AppData\Local\Temp\git-commit-msg-0.txt -- C.java
[master (root-commit) 22d1c79] first commit
1 file changed, 6 insertions(+)
create mode 100644 C.java
17:09:38.060: cd C:\Users\jiahao\IdeaProjects\testtt\src
17:09:38.060: git -c core.quotepath=false commit --only -F C:\Users\jiahao\AppData\Local\Temp\git-commit-msg-0.txt -- C.java
[master 69084f3] second commit
1 file changed, 1 insertion(+)
17:09:44.136: cd C:\Users\jiahao\IdeaProjects\testtt\src
17:09:44.136: git -c core.quotepath=false checkout 22d1c7919eab50925411d9bbb8a9ad1575608c27
Note: checking out '22d1c7919eab50925411d9bbb8a9ad1575608c27'.
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.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 22d1c79... first commit
17:09:46.576: cd C:\Users\jiahao\IdeaProjects\testtt\src
17:09:46.576: git -c core.quotepath=false checkout 69084f344b79a48da92855d3fb633a28a672a302
Previous HEAD position was 22d1c79... first commit
HEAD is now at 69084f3... second commit
17:18:26.999: cd C:\Users\jiahao\IdeaProjects\testtt\src
17:18:26.999: git -c core.quotepath=false commit --only -F C:\Users\jiahao\AppData\Local\Temp\git-commit-msg-0.txt -- C.java
[detached HEAD 783fbf2] third commit
1 file changed, 1 insertion(+)
【问题讨论】:
-
我怀疑你没有只是结帐给主人。如果您能给出一个完整的示例(从
git init开始),说明重现问题的确切 组步骤,将会有所帮助。 -
不,这不是一组确切的步骤 - “结帐”并没有告诉我们您做了什么。理想情况下,从命令行执行此操作比在 IDE 中更清晰。
-
同样从命令行显示
git status的结果。 -
你能给我们
git reflog中相关的行吗? -
当我使用命令行,试图重现问题时,我失败了,因为它有效!所以我想可能是 IntelliJ IDEA 的 BUG。稍后我将向您展示 IntelliJ IDEA 中的 reflog。谢谢。
标签: git intellij-idea git-detached-head