有人可以告诉我为什么将文件推送到github时出现灰色图标吗?在应用目录的旁边,应该有模型,视图和控制器,但是在远程GitHub中,我无法单击。
Answers:
好像您创建了一个子模块,指向一个无法访问的远程位置。
看到这个答案。该图标为绿色时,将指向子模块。我假设您的情况为灰色,因为子模块配置错误。
如果.gitmodules
不存在,则必须将其删除,从而使子模块没有远程信息。
如果app
输入内容, git remote -v
您也会看到该模块指向的位置。这个地方目前无法到达。
在类似的情况下,我添加了一个子模块并删除了.gitmodules
。GitHub上的结果如下所示:
cat .gitmodules
回报呢?不要发布实际的网址
git rm --cached <folder_name>
然后转到父目录并执行:
git add .
git commit -m "<your_message>"
git push --all
--all
推送所有分支。
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
看起来您在文件夹中初始化了git。从子文件夹中删除git文件(rm -rf)并创建一个新的repo并重新初始化git。
您已经在应用目录中初始化了git,但找不到远程目录。删除应用内的.git文件。。
[app(master)]$ sudo rm -r .git
或显示文件夹内的隐藏文件并手动进行。然后重新提交并重新推送父文件夹的更改
我发现最简单的方法就是从本地删除文件夹并更新远程仓库。导航到您的本地目录,并将包含错误设置的.git子文件夹的文件夹剪切到另一个位置(本地回购之外,例如桌面),以便您可以更正问题并稍后复制回去,然后运行:
git submodule update
git add --all
git commit --all
git push
这应该删除远程仓库上显示为灰色的文件夹。然后将文件夹再次复制到本地文件中,并按上述方式运行add --all commit --all git push,当然要首先从子文件夹中删除错误设置的.git文件夹,以避免出现相同问题再次; 要在linux系统上找到该文件夹,请使用cntrl-h从该文件夹内查看文件夹中的隐藏文件,您会在子文件夹中看到一个.git文件夹,该文件夹会引起该问题,只需删除该文件夹即可解决该问题
它内部已经有一个.git,因此显示为灰色。即它里面也已经初始化了git。
就我而言,在部署到Heroku之前,我已经在根文件夹(具有manage.py的文件夹)中初始化了一个git存储库在项目的父文件夹中设置了一个Git存储库。
然后,当我在项目的父文件夹中创建新的存储库时,用于处理模型视图和控制器的根文件夹将显示为灰色。以下为我工作:
在您的根文件夹中,一个带有manage.py的文件夹,执行以下操作:
git remote add origin“ github仓库链接”
git push -u原始主机