Git 似乎正在跟踪 java 文件夹,但我无法提交对特定文件 MainActivity.java
的更改。我收到“更改未暂存以提交”
差异显示了更改,但我无法提交它。
此外,我无法进入 Github 中的文件夹。
编辑:当我在命令行中执行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:我已经按照一些人的建议检查了最新的提交,但仍然出现分离头错误。
编辑 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 界面纠正此问题,请尝试以下操作:
- 为更改的文件创建备份副本,以防万一此方法无法正确 merge 您的更改。
- 在版本控制 Pane 中,选择
日志
选项卡。它将向您显示提交列表。 - 顶部提交应该是最新的。右键单击它并在上下文菜单中选择
Checkout Revision
。 - 如果出现对话框,请选择
智能 checkout
。这会将您的更改与选定的提交 merge 。 - 您的 HEAD 现在应该已附加,因此您现在可以正常提交。
关于android - 尽管删除 git 子模块仍出现 "detached HEAD"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37824611/