Выборка удаленного из подмодуля не находит ветки - PullRequest
2 голосов
/ 02 ноября 2019

У меня есть репозиторий GitHub, который я клонировал на свой компьютер как подмодуль другого репозитория.

У меня есть все файлы и коммиты локально, но на удаленном компьютере мой клиент git считает, что их нетветка. (git branch -r ничего не показывает)

git fetch origin дает такой результат:

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin
From https://github.com/Estecka/ChainMaths
 * branch            HEAD       -> FETCH_HEAD

Completed successfully.

но на самом деле я все еще не нахожу ни одной ветви.

Пытаясьpush мои локальные изменения работают успешно, я вижу, что мои изменения отражены на веб-сайте GitHub, но даже в этом случае мой git-клиент все еще не может найти какую-либо ветку на удаленном компьютере, даже ту, которая была только что нажата.

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

1 Ответ

2 голосов
/ 02 ноября 2019

Похоже, ваш подмодуль настроен так, чтобы по умолчанию не получать никаких ссылок. Когда вы делаете git fetch origin без указания чего-либо для извлечения, Git читает переменную remotes.origin.fetch и предоставляет это. Поскольку вы ничего не указали, Git просто читает удаленную ссылку HEAD и вставляет ее в FETCH_HEAD, что в данном случае не то, что вы ищете.

Если вы хотите стандартное поведениеизвлекая удаленные головки в refs/remotes/origin, вы можете запустить git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*, а затем снова запустить git fetch origin. Если вы просто хотите сделать это один раз, а не по умолчанию, вы можете запустить git fetch origin +refs/heads/*:refs/remotes/origin/*.

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