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