83

谁能告诉我为什么当我将文件推送到 github 时我有灰色图标?在 app 目录中,应该有模型、视图和控制器,但在远程 GitHub 中我无法点击。

在此处输入图像描述

4

8 回答 8

76
git rm --cached <folder_name>

然后转到父目录并执行以下操作:

git add .
git commit -m "<your_message>"
git push --all
于 2017-04-25T05:00:53.957 回答
30

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

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

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

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

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

缺少子模块

于 2013-10-25T08:45:30.203 回答
26

Git 认为它是一个子模块,因为它里面有一个 .git 目录。修理...

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

cd <offending git submodule>

删除其中的 .git 目录:

rm -rf .git

更新 git 缓存:

git rm --cached <offending git submodule>

转到父目录:

cd ..

将目录添加到 git:

git add .
git commit -m "Changed submodule to directory"
git push --all
于 2018-12-20T10:47:03.250 回答
20

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

于 2015-10-20T05:43:02.463 回答
1

您已经在 app 目录中初始化了 git,但它找不到遥控器。删除 app 内的 .git 文件。.

[app(master)]$ sudo rm -r .git

或者显示文件夹内的隐藏文件并手动执行。然后重新提交并重新推送父文件夹的更改

于 2017-01-14T11:04:25.127 回答
1

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

git submodule update

git add --all

git commit --all

git push

这应该会删除远程仓库中灰显的文件夹。然后将文件夹再次复制回本地文件并运行 add --all commit --all git push 如上所述,当然首先要事先从子文件夹中删除错误设置的 .git 文件夹以避免同样的问题再次; 要在 linux 系统上找到它,请使用文件夹中的 cntrl-h 查看文件夹中的隐藏文件,您会看到导致问题的子文件夹中存在一个 .git 文件夹,只需删除它即可解决

于 2017-12-29T23:02:57.993 回答
0

它里面已经有一个 .git ,因此看起来是灰色的。即它内部也初始化了 git。

于 2017-05-10T05:42:06.943 回答
-1

就我而言,在部署到 Heroku 时,我已经在根文件夹(具有 manage.py 的那个)中初始化了一个 git 存储库,然后在项目的父文件夹中设置了一个 Git 存储库。

然后,当我在项目的父文件夹中创建一个新存储库时,处理模型视图和控制器的根文件夹显示为灰色。以下对我有用:

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

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

    git push -u 起源大师

  4. 刷新您的 Github 存储库,您的所有目录都应该存在
于 2017-05-13T21:16:48.307 回答