Папка в GitHub показывается стрелкой и не открывается: проверяем gitlink. Практическая проверка: в чистой рабочей копии проверить запись пути через git ls-files --stage, наличие .gitmodules и локального .git-файла или каталога, затем выбрать один намеренный вариант: сохранить корректный submodule с доступным remote и commit либо после отдельной.
Сначала зафиксируйте именно этот симптом
После копирования чужого проекта и удаления части .git-каталогов commit проходит нормально, но отдельные директории на GitHub остаются ссылками без доступного содержимого; повторное добавление файлов вслепую может потерять вложенную историю или закрепить неверное состояние индекса. Точный запрос пользователя: почему каталог в репозитории GitHub отображается как папка со стрелкой и не открывает файлы, хотя его нет в .gitignore, и как отличить gitlink или submodule от обычной папки без потери вложенной истории. Свежий публичный сигнал описывает границу так: Публичный вопрос описывает каталоги, которые после копирования проекта отображаются на GitHub стрелкой и не открывают содержимое; он используется только как обезличенный сигнал симптома, а не как доказательство причины или спроса. Он подтверждает существование сценария «Папка в GitHub показывается стрелкой и не открывается: проверяем gitlink», но не назначает виновный компонент и не показывает масштаб. До проверки запишите только наблюдаемое: версию, поверхность продукта, момент события и воспроизводимый шаг. Личные имена, адреса, содержимое аккаунта и закрытые ссылки для этого не нужны. Если симптом нельзя повторить на безопасном примере, остановитесь на сборе фактов и не меняйте конфигурацию наугад.
Проверка по отдельным контрольным шагам
В чистой рабочей копии проверить запись пути через git ls-files --stage, наличие .gitmodules и локального .git-файла или каталога, затем выбрать один намеренный вариант: сохранить корректный submodule с доступным remote и commit либо после отдельной резервной копии преобразовать gitlink в обычные отслеживаемые файлы на новой ветке; не удалять метаданные и не переписывать индекс до фиксации исходного commit. Разложите эту последовательность на отдельные контрольные действия. Шаг 1: В чистой рабочей копии проверить запись пути через git ls-files --stage. Шаг 2: Наличие .gitmodules и локального .git-файла или каталога. Шаг 3: Затем выбрать один намеренный вариант: сохранить корректный submodule с доступным remote и commit либо после отдельной резервной копии преобразовать gitlink в обычные отслеживаемые файлы на новой ветке. Шаг 4: Не удалять метаданные и не переписывать индекс до фиксации исходного commit. После каждого шага сохраните ожидаемый и фактический результат, не переходя сразу к следующему. Контрольная переменная для этой статьи — именно «матрица «режим index entry × объект commit или blob × запись .gitmodules × локальный .git × доступность remote × ожидаемая история» объясняет стрелку на GitHub через фактическую модель Git, даёт обратимый тест и стоп-линию перед удалением метаданных». Изменяйте одно условие, затем возвращайте его в исходное состояние. Если различие исчезло после отката и вернулось при повторе, ветка подтверждена наблюдением; если нет, зафиксируйте отрицательный результат и переходите к следующей границе, не расширяя права и не очищая данные.
Границы, которые задают источники
Документ 1: Официальная документация Git определяет submodule как репозиторий, встроенный в другой репозиторий: superproject отслеживает commit через gitlink, а .gitmodules хранит сопоставление пути и URL. Документ 2: Официальная документация Git указывает, что git ls-files --stage показывает mode, object name, stage number и path записи индекса; это обратимая проверка до изменения индекса. Документ 3: Официальное описание модели данных Git перечисляет gitlink как тип записи index и поясняет, что для submodule запись указывает на commit, а не на обычный blob или дерево файлов superproject. Эти документы подтверждают только перечисленные свойства и ограничения. Их нельзя растягивать на другую версию, роль, платформу или сетевую схему без отдельной проверки. Форумный или новостной сигнал не заменяет документацию: он задаёт вопрос «почему каталог в репозитории GitHub отображается как папка со стрелкой и не открывает файлы, хотя его нет в .gitignore, и как отличить gitlink или submodule от обычной папки без потери вложенной истории», а ответ строится по первичным формулировкам выше. Если интерфейс, версия или результат расходятся с документом, отметьте расхождение как неизвестное и приложите к обращению ссылку и дату проверки, а не предположение о причине.
Развилки решения и стоп-линия
Матрица «режим index entry × объект commit или blob × запись .gitmodules × локальный .git × доступность remote × ожидаемая история» объясняет стрелку на GitHub через фактическую модель Git, даёт обратимый тест и стоп-линию перед удалением метаданных. Практическая развилка начинается с результата последовательности: в чистой рабочей копии проверить запись пути через git ls-files --stage, наличие .gitmodules и локального .git-файла или каталога, затем выбрать один намеренный вариант: сохранить корректный submodule с доступным remote и commit либо после отдельной резервной копии преобразовать gitlink в обычные отслеживаемые файлы на новой ветке; не удалять метаданные и не переписывать индекс до фиксации исходного commit. Если первый обратимый тест меняет симптом, повторите его на исходном состоянии и сохраните обе строки сравнения. Если результат одинаков, не делайте вывод о поломке всего продукта — переходите к следующему слою, названному в матрице для «Папка в GitHub показывается стрелкой и не открывается: проверяем gitlink». Стоп-линия наступает перед удалением профиля, сбросом, выдачей широких разрешений, ослаблением защиты или изменением чужих данных. Минимальный пакет поддержки: обезличенный симптом, версия клиента и ОС, UTC-время, выбранная ветка, одно изменённое условие, ожидаемый и фактический результат. Пароли, токены, IP-адреса, серийные номера и полные логи исключите.
Материал подготовлен редакцией VOne с применением ИИ для структурирования дерева проверки, но каждый технический тезис вручную сопоставлен с указанными официальными, первичными или исследовательскими источниками; форумный либо новостной сигнал использован только как лид и не считается доказательством причины или популярности.
Источники и проверка
- git-scm.com — проверенный источник проверено 2026-08-27
- git-scm.com — проверенный источник проверено 2026-08-27
- git-scm.com — проверенный источник проверено 2026-08-27
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.