Android Studio中的HEAD分离问题

Ada*_*aro 11 git android github head

我是Android Studio的新手,已经开始开发Navigation Drawer应用程序。

在提交中犯了一个错误之后,我试用了Version控件的“ Checkout Revision”,现在由于“ Detached HEAD”,我无法再将项目推送到Github上。

我该如何解决这个问题?我的应用程序在模拟器中运行良好。

谢谢

小智 8

如果您已经做了很多更改并想要在线提交和推送,但突然遇到了这个分离的头问题,您可以通过 Android Studio 对 Git 执行以下步骤:

  1. 转到 VCS -> Git -> 分支...
  2. 单击+新分支,只需输入任何临时名称即可。
  3. 然后将更改提交到新分支(先不要推送,因为它会在线创建新分支)。
  4. 再次转到 VCS -> Git -> Branches... ,现在选择具有分离头问题的上一个分支(本地),然后单击 checkout 分支。
  5. 再次转到 VCS -> Git -> Branches... ,现在选择新创建的分支(本地)并选择合并到当前分支。
  6. 合并成功后,请仔细检查您的代码是否是最新的。现在您可以推送分支(之前遇到问题),而不会出现分离头问题。如果此时单击“提交”,则不会提交任何内容,因为您已合并了最新的更改。您所需要做的只是在线推送。通过这种方式,您可以防止自己为了解决此问题而在线创建新分支。
  7. 出于清理目的,一旦您成功将分支推送到线上,只需再次选择新创建的分支(本地)并单击删除分支即可。


小智 6

您可以转到VCS菜单,然后选择Git,分支,然后在Git分支对话框中单击本地分支下面的项目,然后签出分支,然后接受您的默认分支。它会将您的项目连接到默认分支,您可以提交项目。


小智 0

当您在 Git 中处于“分离头状态”时,这意味着您当前正在根据不在分支上的过去提交查看历史记录。根据您的目标,需要发生一些事情。

如果您想在当前签出的版本中继续您的代码?如果是这样,您应该返回到最近进行的提交,然后使用git revert或撤消历史记录git reset,以对您更有意义的方式为准。

如果你想回到最近的提交并继续正常工作,git checkout <newest SHA>那就完全没问题了。