当我将文件推送到github时,有谁能告诉我为什么我有灰色图标?在app目录的旁边,应该有模型,视图和控制器,但在远程GitHub中我无法点击。
答案 0 :(得分:48)
git rm --cached <folder_name>
然后转到父目录并执行:
git add .
git commit -m "<your_message>"
git push --all
答案 1 :(得分:22)
看起来你创建了一个子模块,指向一个无法访问的远程位置。
见this answer。当绿色时,该图标将指向子模块。我假设它在你的情况下是灰色的,因为子模块配置不正确。
鉴于.gitmodules
不存在,它必须已删除,留下没有远程信息的子模块。
如果进入app
并输入git remote -v
,您会看到此模块指向的位置。这个地方目前无法到达。
在类似的情况下,我添加了一个子模块并删除了.gitmodules
。 GitHub上的结果如下所示:
答案 2 :(得分:21)
看起来你在文件夹中初始化了git。从子文件夹中删除git文件(rm -rf)并创建一个新的repo并重新初始化git。
答案 3 :(得分:2)
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
答案 4 :(得分:1)
您已经在app目录中初始化了git,但找不到遥控器。 删除应用内的.git文件。。
[app(master)]$ sudo rm -r .git
或者显示文件夹中的隐藏文件并手动执行。然后重新提交&amp;重新推送父文件夹的更改
答案 5 :(得分:1)
我发现最简单的方法就是从本地删除文件夹并更新远程仓库。导航到您的本地目录并将包含错误设置的.git子文件夹的文件夹剪切到另一个位置(本地存储库之外,例如桌面),以便您可以更正问题并稍后复制,然后运行:
git submodule update
git add --all
git commit --all
git push
这应该删除远程仓库上灰显的文件夹。然后将文件夹重新复制到本地文件中并运行add --all commit --all git push,如上所述,首先要注意从事先从子文件夹中删除错误设置的.git文件夹以避免同样的问题再次;要在Linux系统上找到它,请使用文件夹中的cntrl-h来查看文件夹中的隐藏文件,您将看到导致该问题的子文件夹中存在的.git文件夹,只需删除该文件夹即可解决该问题< / p>
答案 6 :(得分:0)
它内部已经有一个.git,因此显示为灰色。 即它也在其中初始化了git。
答案 7 :(得分:0)
在我的情况下,在部署到Heroku 之前,我已经在根文件夹(具有manage.py的文件夹)中初始化了一个git存储库在项目的父文件夹中设置了一个Git存储库。
当我在项目的父文件夹中创建新的repo时,处理模型视图和控制器的根文件夹显示为灰色。以下对我有用:
在您的根文件夹中使用manage.py,执行以下操作:
git remote add origin“github repo link”
git push -u origin master