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:我尝试添加文件本身w / 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
,但同样的错误不断弹出。
答案 0 :(得分:0)
要使用Android Studio界面更正此问题,请尝试以下操作:
Log
标签。它会显示一个提交列表。Checkout Revision
。Smart Checkout
。这会将您的更改与所选提交合并。答案 1 :(得分:0)
分离HEAD时,意味着您执行的命令行相当于:
git checkout <UUID of previous commit>
创建的灰色文件夹称为子模块,当您在另一个git存储库中初始化git存储库时会发生这种情况。我建议删除JustJava/app/src/main/java/com/example/android/justjava
中的.git文件夹。
使用git through terminal,请按照以下步骤操作:
备份其他文件夹中的所有代码
**删除JustJava / app / src / main / java / com / example / android / justjava / .git“
结帐主人或您当前的分行(默认:主人)
为了结账主人,通过终端(linux或mac)或git bash(如果你在Windows上)转到git项目所在的文件夹,然后执行:
git checkout master
答案 2 :(得分:0)
由于justjava
文件夹被证明是一个子模块,在超级目录中,我根据@fusiongate的建议调用了git rm -rf --cached justjava
这适用于允许添加和提交文件,但此文件的提交历史记录丢失。