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