Может кто-нибудь скажет мне, почему у меня есть серый значок, когда я нажимаю свои файлы на github? В стороне каталога приложения должны быть модели, представления и контроллеры, но в удаленном GitHub я не могу щелкнуть.
Может кто-нибудь скажет мне, почему у меня есть серый значок, когда я нажимаю свои файлы на github? В стороне каталога приложения должны быть модели, представления и контроллеры, но в удаленном GitHub я не могу щелкнуть.
Похоже, вы создали подмодуль, указывающий на недоступное удаленное расположение.
См. этот ответ. Этот значок, когда зеленый, указывает на дополнительный модуль. Я предполагаю, что это было серым в вашем случае, потому что дополнительный модуль был неправильно настроен.
Учитывая, что .gitmodules
нет, он должен быть удален, оставив дополнительный модуль без удаленной информации.
Если вы входите в app
и наберите git remote -v
, вы увидите, где этот модуль тоже указывает. Это место в настоящее время недоступно.
В подобном сценарии я добавил подмодуль и удалил .gitmodules
. Результат GitHub выглядит так:
git rm --cached <folder_name>
Затем перейдите в родительский каталог и выполните:
git add .
git commit -m "<your_message>"
git push --all
Похоже, вы инициализировали git внутри папки. Удалите файл git (rm -rf) из подпапки и создайте новое репо и заново инициализируйте 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, как указано выше, сначала позаботивтесь, чтобы сначала удалить неправильно установленную папку .git из подпапки, чтобы избежать тот же вопрос снова; чтобы найти это в Linux-системах, используйте cntrl-h из папки для просмотра скрытых файлов в ваших папках, вы увидите папку .git, присутствующую в подпапке, которая вызывает эту проблему, просто удалите ее, и это должно решить.
Он уже имеет .git внутри него и, следовательно, выглядит серым. т.е. он имеет git, инициализированный внутри него.
В моем случае я инициализировал репозиторий git в корневой папке (том, у которой есть manage.py) при развертывании в Heroku до, устанавливая репозиторий git в родительской папке проекта.
Когда я создал новое репо в родительской папке проекта, корневая папка, обрабатывающая представления моделей и контроллеры, была недоступна. Для меня работали следующие:
В корневой папке с файлом manage.py выполните следующие действия:
git удаленный добавочный источник "github repo link"
git push -u origin master
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