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


83

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

在此处输入图片说明

Answers:


30

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

看到这个答案。该图标为绿色时,将指向子模块。我假设您的情况为灰色,因为子模块配置错误。

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

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

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

缺少子模块


当我尝试git submodule update --init时,它没有返回gitmodules中路径“ app”的子模块映射
BC2

我尝试了git ls-tree --full-tree -r HEAD,它返回了我100644 blob 6628083525c40f2abab01a69c4599d38380b18a5 Rakefile 160000 commit 60b600031853f5f4bbc0a2885caf5085bbf873fc应用程序
BC2

每一个目录与应用程序以外的字斑点... N没有任何进一步的目录中的文件中的应用程序......而在我的实际项目中的应用,还有像模型,视图,控制器和等几个目录
BC2

哪些呢cat .gitmodules回报呢?不要发布实际的网址
-Boj

cat:.gitmodules:没有这样的文件或目录
BC2


23

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

这让我头疼
Elroy Jetson

好答案。遵循这些步骤为我节省了很多困惑!
加仑

很好的答案。这使我免于困惑!
Ayubur Ra​​haman

在尝试了几个替代答案之后,这是迄今为止最正确的答案。感谢堆
柏拉图斯儿童

应该是最受好评的。只需一件事,转到父目录,然后执行git rm --cached <>
Tejas Sharma

20

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


3
答案很简洁!我刚进去,启用了隐藏文件,删除了我项目内的隐藏git文件夹,然后重新上传-灰色文件夹图标现在消失了,在github上一切都很好。感谢您简洁明了的回答。
twknab '16

1

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

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

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


1
<3复制粘贴答案
Simon Somlai

1

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

git submodule update

git add --all

git commit --all

git push

这应该删除远程仓库上显示为灰色的文件夹。然后将文件夹再次复制到本地文件中,并按上述方式运行add --all commit --all git push,当然要首先从子文件夹中删除错误设置的.git文件夹,以避免出现相同问题再次; 要在linux系统上找到该文件夹​​,请使用cntrl-h从该文件夹内查看文件夹中的隐藏文件,您会在子文件夹中看到一个.git文件夹,该文件夹会引起该问题,只需删除该文件夹即可解决该问题


0

它内部已经有一个.git,因此显示为灰色。即它里面也已经初始化了git。


就我而言,这实际上是问题所在,因为我在文件夹内有一个.git文件夹,然后似乎为该文件夹自动创建了一个子模块。我不确定为什么这个答案会被记下来?
leoncc '18

0

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

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

  1. 删除父文件夹存储库
  2. 由于我们将导入现有存储库,因此无需选中“使用README初始化此存储库”即可创建新的存储库。
  3. 在您的根文件夹中,一个带有manage.py的文件夹,执行以下操作:

    git remote add origin“ github仓库链接”

    git push -u原始主机

  4. 刷新您的Github存储库,所有目录都应存在
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.