Что означает серый значок в удаленном 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 в родительской папке проекта.

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

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

    git remote добавить источник "github repo link"

    git push -u мастер оригинала

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