На папках GitHub есть белая стрелка - PullRequest
20 голосов
/ 28 мая 2020

Я недавно нажал на github и вижу белую стрелку на одной из моих папок.

enter image description here

и когда я нажимаю на папку, она не открывается. На моем локальном компьютере у него есть содержимое, но в github я не могу получить к нему доступ. Что это значит?

Ответы [ 4 ]

20 голосов
/ 28 мая 2020

Проверьте, есть ли локально у вас подпапка .git / в этой папке.

Это означает, что папка (локально) является вложенным Git репозиторием , чье дерево SHA1 записывается как «gitlink» (серая папка с прямой белой стрелкой)

То, что вы затем увидите на GitHub, это то, что gitlink: имя объекта коммита, который суперпроект ожидает во вложенном Git репозитории (или подмодуль) должен находиться в рабочем каталоге.

Если вы видите folder @ xxx, то это запись подмодуля, то есть в вашем собственном репозитории есть .gitmodules, в котором, кроме того, gitlink, фактический URL-адрес удаленного репозитория.

A git clone --recurse-submodules восстановит содержимое этого подмодуля (в отличие от вложенного репозитория Git, где его URL-адрес не записано, и содержимое папки останется пустым)

4 голосов
/ 24 июля 2020

Стрелка может означать, что это подмодуль.

Вы можете попробовать:

git add yourfolder

Если это приводит к ошибке, например:

xxx submodule xxx

появляется, вы можете попробовать это:

git rm --cached gitbook

Затем вы можете успешно запустить:

git add yourfolder
2 голосов
/ 15 июля 2020

На вашем компьютере, если вы перейдете в каталог со стрелкой и попытаетесь просмотреть скрытые файлы, вы увидите папку .git, указывающую, что это репозиторий. Это означает, что это репо, содержащееся во внешнем репо, которое вы отправили на GitHub. Самый простой способ избавиться от стрелки и начать правильно видеть ваши файлы (на мой взгляд) - это удалить папку .git. Таким образом, он перестает быть репо git и снова становится обычной папкой. Теперь, когда вы sh заходите на GitHub, вы обычно можете получить доступ к папке и просмотреть все ее содержимое.

1 голос
/ 10 июля 2020

Если вы хотите удалить подмодуль из файлов конфигурации git, следуйте этому, помните, что если вы НЕ хотите удалять локальный каталог этого подмодуля, НЕ выполняйте шаг X:

Удалите соответствующий раздел из файла .gitmodules.

Подготовьте изменения .gitmodules git добавьте .gitmodules

Удалите соответствующий раздел из .git / config.

Запустите git rm --cached path_to_submodule (без завершающего sla sh).

Запустите rm -rf .git / modules / path_to_submodule (без конечного sla sh).

Фиксация git commit -m «Удаленный подмодуль»

(Рискованный) Шаг X: - Удалите теперь неотслеживаемые файлы подмодуля rm -rf path_to_submodule

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...