远程GitHub中的灰色图标是什么意思

BC2*_*BC2 70 git github github-for-windows

任何人都可以告诉我为什么当我将文件推送到github时,我有灰色图标?在app目录的旁边,应该有模型,视图和控制器,但在远程GitHub中我无法单击.

在此输入图像描述

小智 56

git rm --cached <folder_name>
Run Code Online (Sandbox Code Playgroud)

然后转到父目录并执行:

git add .
git commit -m "<your_message>"
git push --all
Run Code Online (Sandbox Code Playgroud)

  • 请注意:`--all` [推送所有分支](https://git-scm.com/docs/git-push#git-push---all)。 (2认同)

Boj*_*Boj 24

看起来您创建了一个子模块,指向一个无法访问的远程位置.

看到这个答案.当绿色时,该图标将指向子模块.我假设它在你的情况下是灰色的,因为子模块配置不正确.

鉴于.gitmodules不存在,它必须已被删除,留下没有远程信息的子模块.

如果进入app并键入, git remote -v您将看到此模块指向的位置.这个地方目前无法访问.

在类似的场景中,我添加了一个子模块并删除了.gitmodules.GitHub上的结果如下所示:

缺少子模块


小智 21

看起来你在文件夹中初始化了git.从子文件夹中删除git文件(rm -rf)并创建一个新的repo并重新初始化git.

  • 非常简洁的答案!我刚进去,启用了隐藏文件,删除了我项目中隐藏的git文件夹,并重新上传 - 灰色文件夹图标现在已经消失,github上的所有内容都很好.感谢您简明扼要的答案. (3认同)

小智 9

Git认为这是一个子模块,因为其中有一个.git目录。修理...

将目录更改为有问题的目录:

cd <offending git submodule>
Run Code Online (Sandbox Code Playgroud)

删除其中的.git目录:

rm -rf .git
Run Code Online (Sandbox Code Playgroud)

更新git缓存:

git rm --cached <offending git submodule>
Run Code Online (Sandbox Code Playgroud)

转到父目录:

cd ..
Run Code Online (Sandbox Code Playgroud)

将目录添加到git中:

git add .
git commit -m "Changed submodule to directory"
git push --all
Run Code Online (Sandbox Code Playgroud)