android - 尽管删除 git 子模块仍出现 "detached HEAD"错误

标签 android git android-studio github git-submodules

Git 似乎正在跟踪 java 文件夹,但我无法提交对特定文件 MainActivity.java 的更改。我收到“更改未暂存以提交” 差异显示了更改,但我无法提交它。

此外,我无法进入 Github 中的文件夹。

Project structure Commit error

Github structure 该文件夹不可点击。

编辑:当我在命令行中执行git status时,我得到

user:JustJava juil$ git status
HEAD detached at 93ea9a1
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)

        modified:   app/src/main/java/com/example/android/justjava (modified content)

no changes added to commit (use "git add" and/or "git commit -a")

编辑2:我已经按照一些人的建议检查了最新的提交,但仍然出现分离头错误。

Current git log

编辑 3: 我尝试使用 git add 添加文件本身,但收到一个错误,表明该目录是子模块。

JustJava juil$ git add app/src/main/java/com/example/android/justjava/MainActivity.java
fatal: Pathspec 'app/src/main/java/com/example/android/justjava/MainActivity.java' is in submodule 'app/src/main/java/com/example/android/justjava'

我尝试运行git submodule status并收到错误

fatal: no submodule mapping found in .gitmodules for path 'app/src/main/java/com/example/android/justjava'

我尝试删除子模块中的.git,但不断 pop 相同的错误。

最佳答案

要仅使用 Android Studio 界面纠正此问题,请尝试以下操作:

  1. 为更改的文件创建备份副本,以防万一此方法无法正确 merge 您的更改。
  2. 在版本控制 Pane 中,选择日志选项卡。它将向您显示提交列表。
  3. 顶部提交应该是最新的。右键单击它并在上下文菜单中选择Checkout Revision
  4. 如果出现对话框,请选择智能 checkout 。这会将您的更改与选定的提交 merge 。
  5. 您的 HEAD 现在应该已附加,因此您现在可以正常提交。

关于android - 尽管删除 git 子模块仍出现 "detached HEAD"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37824611/

相关文章:

java - MPAndroidChart 定制水平BarChart

git - 在不 checkout 分支的情况下重新设置分支基础

android - Gradle改造未能解决

android - 使用 NDK 包含预编译的静态库

sqlite - 如何在Android Studio中将记录中的数据加载到多个edittext中?

android - 我可以在不同的移动技术 Android、iPhone、Blackberry、Windows mobile 中执行单个代码

android - 通过 ADB 创建 AVD 配置文件

android - self.driver.get_window_size() 不返回具有高度或宽度的字典

git - Bitbucket 管道 - 具有相同步骤的多个分支

git - 如何在使用git的同时构建docker-compose镜像?