2015-02-11 1 views
1

Я смотрю на кого-то elses repo. Внутри него есть папка, которую я считаю ссылочным модулем. Это имя, как это:Github, ссылающийся на подмодуль - неправильное дерево

сайт @ 5afa940

Существует файл с именем .gitmodules с этим содержимым:

[submodule "website"] 
    path = website 
    url = [email protected]:xyz/website.git 
    branch = master 

Если .gitmodule является refencing мастер филиал почему в GitHub я могу еще см. ссылку на папку с другой ссылкой на дерево, кроме мастера?

В любом случае, я могу настроить это из github онлайн или мне нужно использовать командную строку git?

ответ

1

Если модуль .gitmodule поддерживает мастер-ветку, почему в GitHub я могу увидеть ссылку на папку с другой ссылкой на дерево, чем с мастером?

Поскольку подмодуль всегда ссылаться на SHA1

Филиал «мастер» спецификация есть только если вы используете

git submodule update --remote 

См «Git submodules: Specify a branch/tag» и «git submodule tracking latest» больше.

После того как вы клон и обновляются (--remote) локально, то SHA1 записывается gitlink (special entry in the index) будет изменен (до последней извлеченной SHA1 из origin/master для субмодуля upstream repo).
После этого вы сможете добавить git и git направить новую ссылку обратно в GitHub.

Только тогда GitHub отобразит обновленный SHA1.

+0

Хорошо, большое спасибо за комментарий. Невозможно ли в этом отношении, чтобы мой основной репо всегда ссылался на последнюю версию веб-сайта без необходимости проходить процесс обновления SHA1 каждый раз? – Jimmy

+0

@ Jimmy да, вам нужно пройти этот процесс, чтобы обновить SHA1, на который ссылается подмодуль. – VonC

Смежные вопросы