
Содержание статьи
Феликс Ву
Подмодули Git – одна из самых замечательных, но изнурительных функций Git.
Я имею в виду, мы все любовь Git, да? Но пробовали ли вы когда-нибудь использовать подмодули Git?
В самом деле, самостоятельные подмодули Git не трудно понять. Инициализацию легко выполнить, введя:
git submodule add <link-to-remote-repo>
Однако недавно я захотел использовать подмодули для размещения своих презентаций на основе подпути, и это стало достаточно сложным, поскольку у меня не было ни одного учебника, к которому можно было бы обратиться.
В сущности, я хотел иметь репозиторий под названием «презентации», чтобы GH-Pages размещал это хранилище на соответствующем подпути (куда я мог бы включить свои фактические репозитории раскрытия).
Таким образом, я мог бы отдельные автономные хранилища для моих презентаций, которые будут автоматически обновляться в хранилище «презентаций». Это приведет к тому, что мой репозиторий firebase-101 будет размещен на http://flxwu.com/presentations/firebase-101.
Вы также можете разместить на специальном субдомене – у меня есть свои презентации. presentations.flxwu.com/[repo name]. Поэтому вы все еще можете иметь свои другие хранилища, не связанные с презентациями, в username.github.io/[repo name]
Настройка локального репозитория
Сначала мы инициализируем новый репозиторий и добавляем в него соответствующие подмодули.
mkdir parentrepo && cd parentrepo/git initgit submodule add https://github.com/flxwu/firebase-101
Вы можете заменить ссылку на мое хранилище на соответствующее хранилище, которое вы хотите разместить на своем имени пользователя.github.io/parentrepo/[repository name] подпуть. Просто убедитесь, что ссылка использует HTTPS, а репозиторий является общедоступным.
Теперь зафиксируйте все и пройдите обычную процедуру создания репозитория GitHub, добавив удаленный репозиторий GitHub локально и отправляя:
git commit -a -m "Initial Commit"git remote add origin [your github repository .git link]git push origin master
Ваш репозиторий GitHub теперь должен выглядеть так (за исключением только одной подключенной папки, если вы добавили только один подмодуль)

Теперь перейдите в настройки и опубликуйте ветку master на страницах GitHub. Теперь вы должны увидеть это ниже, замена [flxwu.com] с вашим собственным доменом страниц пользователя GitHub (username.github.io, если вы не установили специальный).

Теперь вы также можете установить специальный субдомен:

Теперь ваш подходящий подмодуль firebase-101
(если вы не добавили свое собственное репо вместо моего) размещено на subdomain.domain.com/firebase-101.
Успех!
Если эта статья помогла вам, подпишитесь на меня в Twitter @flxwu
Бонус: как удалить подмодуль
- Удалить раздел, касающийся подмодуля,
.gitmodules
файл - Внесите изменения через
git add .gitmodules
- Удалите соответствующий раздел подмодуля из
.git/config
. - бежать
git rm --cached path_to_submodule
(без косой черты в конце) - бежать
rm -rf .git/modules/path_to_submodule
- Зафиксируйте изменения с помощью `git commit -m “Удален подмодуль”
- Удалите файлы субмодулей, которые сейчас не отслеживаются
rm -rf path_to_submodule