在Android Studio 3.3.1中执行Checkout修订和Commit操作时,为什么会收到“独立标题”消息?

Hel*_*oCW 3 git github android-studio

我在Android Studio 3.3.1中的项目中使用GitHub。

答:我编辑了文件两次,然后提交两次,然后将项目推送两次,就可以了。您会看到图像第1步。

B:我希望返回点“ Submit 1”,所以我执行Checkout Revision操作,就像镜像步骤2一样。

C:Checkout Revision操作成功,我得到了步骤3的图像,但是我发现Git 在图像步骤3的右下角显示5adce2b8,我不明白为什么它不显示master

D:我做了一些修改,但是在执行Commit操作时却出现错误“ Detached Head”,就像图像的第4步一样,为什么?我该如何解决?

步骤1 在此处输入图片说明

第2步 在此处输入图片说明

第三步 在此处输入图片说明

第四步 在此处输入图片说明

eft*_*ft0 6

当您通过id或标签签出修订版时,您是在要求git在其中设置您的工作树,但是当您决定进行任何操作时,没有附加分支可以跟随您...按git可以,这没问题。此状态称为detached HEAD。例如,如果您要求git提交,则git将创建一个新修订版,将先前的修订版设置为其父版本,一切按正常方式进行...区别在于,因为您未在分支上工作,没有分支指针可以移动到刚刚创建的新修订版上。同样,从git的角度来看,这是完全正常的。现在,对于您来说,这不是开发人员正常工作的方式。例如,如果您想像新功能一样进行开发工作,则可能希望能够随时提交然后跳转到任何地方,而不必查看引用日志就可以看到您将工作挂在哪里。 ..这就是为什么要使用分支来开发功能的原因。

但是他们,分离式HEAD的用途是什么?我可以很快想到这些情况:

  • 需要签出一个远程分支,而我实际上不需要或想要一个本地分支(不会在那里进行任何开发,只需检查一下内容然后返回我所在的位置)
  • 在移动涉及的真实分支之前,需要测试合并是否可以正常进行
  • 需要通过将更改从一个分支拉到远程上的另一个分支来进行快速修复。

人们会想到其他数十个原因来处理独立的HEAD。实际上,这是git的奇迹之一。

如果您已经在终端上进行了结帐,则git会警告您有关开始在分离的HEAD上进行工作,并且还会给出一些说明,以警告您退出它。通常,您只需在您所在的位置创建一个分支并将其签出即可。可以一次性完成:

git checkout -b some-new-branch
Run Code Online (Sandbox Code Playgroud)

您将再次在一个分支上工作,而不再需要分离的HEAD状态。