Подтвердить что ты не робот

Что означает серый значок в удаленном GitHub?

Может кто-нибудь скажет мне, почему у меня есть серый значок, когда я нажимаю свои файлы на github? В стороне каталога приложения должны быть модели, представления и контроллеры, но в удаленном GitHub я не могу щелкнуть.

enter image description here

4b9b3361

Ответ 1

Похоже, вы создали подмодуль, указывающий на недоступное удаленное расположение.

См. этот ответ. Этот значок, когда зеленый, указывает на дополнительный модуль. Я предполагаю, что это было серым в вашем случае, потому что дополнительный модуль был неправильно настроен.

Учитывая, что .gitmodules нет, он должен быть удален, оставив дополнительный модуль без удаленной информации.

Если вы входите в app и наберите git remote -v, вы увидите, где этот модуль тоже указывает. Это место в настоящее время недоступно.

В подобном сценарии я добавил подмодуль и удалил .gitmodules. Результат GitHub выглядит так:

missing sub module

Ответ 2

git rm --cached <folder_name>

Затем перейдите в родительский каталог и выполните:

git add .
git commit -m "<your_message>"
git push --all

Ответ 3

Похоже, вы инициализировали git внутри папки. Удалите файл git (rm -rf) из подпапки и создайте новое репо и заново инициализируйте git.

Ответ 4

Вы уже инициализировали git внутри каталога приложения и не можете найти удаленный. Удалите файл .git внутри приложения.

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

Или покажите скрытые файлы внутри папки и сделайте это вручную. Затем повторите фиксацию и перетащите изменения родительской папки

Ответ 5

Самый простой метод, который я нашел, - просто удалить папку из локального и обновить удаленное репо. Перейдите в свой локальный каталог и вырежьте папку с неправильной настройкой подпапки .git в другое место (за пределами локального репо, например, на рабочем столе), чтобы вы могли исправить проблему и скопировать ее позже, а затем запустите:

git submodule update

git add --all

git commit --all

git push

Это приведет к удалению папки, которая неактивна на удаленном репо. Затем скопируйте папку обратно в свои локальные файлы и запустите команду add -all commit -all git, как указано выше, сначала позаботивтесь, чтобы сначала удалить неправильно установленную папку .git из подпапки, чтобы избежать тот же вопрос снова; чтобы найти это в Linux-системах, используйте cntrl-h из папки для просмотра скрытых файлов в ваших папках, вы увидите папку .git, присутствующую в подпапке, которая вызывает эту проблему, просто удалите ее, и это должно решить.

Ответ 6

Он уже имеет .git внутри него и, следовательно, выглядит серым. т.е. он имеет git, инициализированный внутри него.

Ответ 7

В моем случае я инициализировал репозиторий git в корневой папке (том, у которой есть manage.py) при развертывании в Heroku до, устанавливая репозиторий git в родительской папке проекта.

Когда я создал новое репо в родительской папке проекта, корневая папка, обрабатывающая представления моделей и контроллеры, была недоступна. Для меня работали следующие:

  • Удалить родительскую папку репо
  • Создать новую репо без проверки "Инициализировать этот репозиторий с помощью README", поскольку мы будем импортировать существующий репозиторий.
  • В корневой папке с файлом manage.py выполните следующие действия:

    git удаленный добавочный источник "github repo link"

    git push -u origin master

  • Обновите репозиторий Github и все ваши каталоги должны присутствовать.

Ответ 8

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