我正在学习 git,并且正在学习http://gitimmersion.com上的优秀教程。
在那些教程中,有一个试图解释分离的 HEAD 的简介,并指出:
git 中的“分离的 HEAD”消息仅意味着 HEAD(跟踪当前工作目录应该匹配的 git 的部分)直接指向提交而不是分支。只要您不切换到不同的分支,在此状态下提交的任何更改都会被记住。一旦你签出一个新的分支或标签,分离的提交就会“丢失”(因为 HEAD 已经移动了)。如果要保存在分离状态下完成的提交,则需要创建一个分支来记住这些提交。
关于这个的几个问题:
- 什么是分离的 HEAD,它是由什么条件产生的?
- 为什么分离的 HEAD 指向特定的提交而不是分支?
- 当您有一个分离的 HEAD 时,您是否总是需要创建一个新分支才能提交/推送其中的更改?为什么/为什么不?
提前致谢!