de Felix Wu

Git Submodules este una dintre cele mai grozave dar epuizante caracteristici din Git.
Adică, noi toți dragoste Git, nu? Dar ați încercat vreodată să folosiți Git Submodules?

De fapt, submodulurile Git independente nu sunt greu de înțeles. Inițializarea se face cu ușurință prin tastarea:

git submodule add <link-to-remote-repo>

Cu toate acestea, recent am vrut să folosesc submodule pentru găzduirea prezentărilor mele revel.js bazate pe un subpath și acest lucru a devenit destul de complicat, deoarece nu am avut niciun tutorial la care să mă refer.

Practic am vrut să am un depozit numit „prezentări”, astfel încât paginile GH să găzduiască acest depozit pe subpath-ul respectiv (http://presentations.flxwu.com/) în care aș putea include depozitele mele reale de dezvăluire.

Astfel, aș fi putut depozite independente separate pentru prezentările mele, care ar fi actualizate automat în depozitul „prezentări”. Acest lucru ar face ca depozitul meu „firebase-101” să fie găzduit pe http://flxwu.com/presentations/firebase-101.

De asemenea, puteți găzdui pe un subdomeniu personalizat – am prezentările mele la prezentări.flxwu.com/[repo name]. Prin urmare, puteți avea în continuare celelalte depozite care nu sunt prezentări username.github.io/[repo name]

Configurarea depozitului local

În primul rând, inițializăm un nou depozit și îi adăugăm submodulele respective.

mkdir parentrepo && cd parentrepo/git initgit submodule add https://github.com/flxwu/firebase-101

Puteți înlocui link-ul meu de depozit cu depozitul respectiv pe care doriți să-l găzduiți pe username.github.io/parentrepo/[repository name] subpath. Asigurați-vă că linkul folosește HTTPS și că depozitul este public.

Acum comiteți totul și parcurgeți procedura obișnuită de creare a depozitului GitHub, adăugarea locală a depozitului GitHub și împingere către acesta:

git commit -a -m "Initial Commit"git remote add origin [your github repository .git link]git push origin master

Depozitul dvs. GitHub ar trebui să arate acum așa (cu excepția unui singur folder conectat în cazul în care ați adăugat doar un submodul)

Cum sa gazduiti pe paginile GitHub cu submodule Git

Acum intrați în setări și publicați ramura „master” pe paginile GitHub. Acum ar trebui să vedeți acest lucru mai jos, înlocuind [flxwu.com] cu propriul dvs. domeniu de pagini GitHub (username.github.io dacă nu ați setat unul personalizat).

1611486307 396 Cum sa gazduiti pe paginile GitHub cu submodule Git

Acum puteți seta și un subdomeniu personalizat:

1611486308 692 Cum sa gazduiti pe paginile GitHub cu submodule Git
Așa am configurat paginile GitHub

Acum, submodulul respectiv firebase-101 (dacă nu ați adăugat propria repo în loc de a mea) este găzduit la subdomain.domain.com/firebase-101.

Succes!

Dacă acest articol te-a ajutat, urmărește-mă pe twitter @flxwu

Bonus: Cum se elimină un submodul

  • Ștergeți secțiunea referitoare la submodul din .gitmodules fişier
  • Organizați modificările prin git add .gitmodules
  • Ștergeți secțiunea relevantă a submodulului din .git/config.
  • Alerga git rm --cached path_to_submodule (fără slash)
  • Alerga rm -rf .git/modules/path_to_submodule
  • Confirmați modificările cu `git commit -m„ Submodul eliminat ”
  • Ștergeți fișierele submodule care nu sunt urmărite acum rm -rf path_to_submodule