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

远程GitHub中的灰色图标是什么意思,git,github,github-for-windows,Git,Github,Github For Windows,有人能告诉我为什么我把文件推到github时会有灰色图标吗?在应用程序目录中,应该有模型、视图和控制器,但在远程GitHub中,我无法单击 看起来您创建了一个子模块,指向无法访问的远程位置 看。绿色图标将指向子模块。我假设在您的情况下,它是灰色的,因为子模块配置不正确 如果.gitmodules不存在,则它必须已被删除,从而使子模块没有远程信息 如果进入app并键入git remote-v,您也将看到此模块指向的位置。这个地方目前无法到达 在类似的场景中,我添加了一个子模块并删除了.gitmod

有人能告诉我为什么我把文件推到github时会有灰色图标吗?在应用程序目录中,应该有模型、视图和控制器,但在远程GitHub中,我无法单击


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

看。绿色图标将指向子模块。我假设在您的情况下,它是灰色的,因为子模块配置不正确

如果
.gitmodules
不存在,则它必须已被删除,从而使子模块没有远程信息

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

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


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

您已经在应用程序目录中初始化了git,但它找不到远程文件删除应用程序中的.git文件。

[app(master)]$ sudo rm -r .git
或者显示文件夹中的隐藏文件并手动执行。然后重新提交并重新推送父文件夹的更改

git rm--cached
git rm --cached <folder_name>
然后转到父目录并执行以下操作:

git add .
git commit -m "<your_message>"
git push --all
git添加。
git提交-m“”
git推——全部

它的内部已经有一个.git,因此显示为灰色。
i、 在我的例子中,在部署到Heroku之前,在项目的父文件夹中设置git存储库时,我在根文件夹中初始化了一个git存储库(具有manage.py)

然后,当我在项目的父文件夹中创建新的repo时,处理模型视图和控制器的根文件夹变灰。以下几点对我很有用:

  • 删除父文件夹repo
  • 创建新的repo而不选中“使用自述文件初始化此存储库”,因为我们将导入现有存储库
  • 在带有manage.py的根文件夹中执行以下操作:

    git远程添加源“github repo链接”

    git-push-u源主机

  • 刷新Github repo,所有目录都应该存在

  • 我发现最简单的方法就是从本地删除文件夹并更新远程repo。导航到您的本地目录,并将包含错误设置的.git子文件夹的文件夹剪切到另一个位置(本地repo之外,例如桌面),以便您可以更正问题并稍后复制回,然后运行:

    git子模块更新

    git add--all

    git提交--all

    git推送


    这将删除远程repo上灰显的文件夹。然后在本地文件中再次复制该文件夹,并如上所述运行add--all commit--all git push,当然首先要注意从子文件夹中删除设置不正确的.git文件夹,以避免再次出现相同的问题;要在linux系统上定位此问题,请使用文件夹中的cntrl-h查看文件夹中的隐藏文件,您将看到导致问题的子文件夹中存在.git文件夹,只需删除该文件夹,即可解决此问题。

    git认为它是一个子模块,因为它内部有一个.git目录。修复

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

    cd <offending git submodule>
    
    更新git缓存:

    git rm --cached <offending git submodule>
    
    将目录添加到git:

    git add .
    git commit -m "Changed submodule to directory"
    git push --all
    

    当我尝试git子模块更新--init时,它返回我在gitmodules中找不到路径“app”的子模块映射。我尝试了git ls tree--full tree-r HEAD,它返回我100644 blob 6628083525C40F2ABABA01A69C4599D38380B18A5 Rakefile 160000 commit 60B600031853F5F5BBC0A2885CAF5085BBF873FC appery目录带有单词blob,除了app。。。n应用程序中没有任何其他目录文件。。。然而,在我实际的应用程序内部项目中,仍然有一些目录,如Model、View、Controller和etcwhat
    cat.gitmodules
    返回?不要发布实际的URLscat:.gitmodules:没有这样的文件或目录非常简洁的回答!我刚进去,启用了隐藏文件,删除了项目中隐藏的git文件夹,然后重新上传——灰色文件夹图标现在不见了,github上的一切又好了。感谢您简洁明了的回答。请注意:
    --all
    。在我的例子中,这实际上是个问题,因为我在文件夹中有一个.git文件夹,然后它似乎会自动为该文件夹创建一个子模块。我不知道为什么这个答案被记下来了?这让我省去了一个头疼的好答案。遵循这些步骤,我省去了很多困惑!回答得很好。这使我免于困惑!在尝试了几个备选答案之后,这是迄今为止最正确的答案。谢谢,他应该是最受欢迎的。只有一件事,转到父目录,然后执行git rm--cached
    cd ..
    
    git add .
    git commit -m "Changed submodule to directory"
    git push --all