Git- ja GitHub-ammattilaisen työnkulku · Oppitunti

Monorepot ja Git-submoduulit

Oppikaa monorepo- ja multi-repo-asetelmien kompromissit sekä se, miten Git-submoduulit upottavat yhden repositorion toisen sisään.

Oppitunti 4/413 vaihetta

Monorepot ja Git-submoduulit on ilmainen Git- ja GitHub-ammattilaisen työnkulku-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Git- ja GitHub-ammattilaisen työnkulku-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Git- ja GitHub-ammattilaisen työnkulku-kurssilla on yhteensä 4 oppituntia.

Monorepo vai multi-repo

Monorepo tallentaa useita projekteja yhteen repositorioon. Multi-repo-asetelmassa jokainen projekti on omassa repositoriossaan. Molemmat ovat yleisiä suurissa ympäristöissä.

Miksi tiimit valitsevat monorepon

Monorepot helpottavat:

  • Koodin jakamista projektien välillä
  • Rajat ylittävien muutosten tekemistä atomisesti
  • Yhden CI:n ja yhden versionointikäytännön käyttämistä

Monorepon haasteet

Suuret monorepot voivat kasvaa valtaviksi, mikä hidastaa kloonauksia ja CI:tä. Työkalut, kuten sparse checkout ja koontivälimuistit, auttavat hallitsemaan tätä.

Mikä on alirepositorio?

Alirepositorio on erillinen Git-repositorio, joka upotetaan toiseen repositorioon tiettyyn committiin kiinnitettynä. Päärepositorio seuraa, mitä alirepositorion committia käytetään.

Alirepositorion lisääminen

Upottakaa ulkoinen repositorio tiettyyn polkuun komennolla git submodule add.

git submodule add https://github.com/org/shared-lib libs/shared

.gitmodules-tiedosto

Git tallentaa kunkin alirepositorion polun ja URL-osoitteen repositorion juuressa olevaan seurattavaan .gitmodules-tiedostoon.

[submodule 'libs/shared']
  path = libs/shared
  url = https://github.com/org/shared-lib

Kloonaaminen alirepositorioiden kanssa

Tavallinen kloonaus jättää alirepositorioiden kansiot tyhjiksi. Käyttäkää rekursiivista lippua myös niiden hakemiseen.

git clone --recurse-submodules https://github.com/org/app

Olemassa olevien alirepositorioiden alustaminen

Jos repositorio on jo kloonattu, hakekaa alirepositorion sisältö init- ja update-komennoilla.

git submodule update --init --recursive

Alirepositorion päivittäminen

Alirepositoriot pysyvät kiinnitettyinä tiettyyn committiin. Siirtyäksenne uusimpaan versioon päivittäkää alirepositorio sen sisällä ja tallentakaa uusi viittaus päärepositorioon.

git submodule update --remote libs/shared
git add libs/shared
git commit -m 'Bump shared lib'

Alirepositorio vai subtree

git subtree on vaihtoehto, joka yhdistää toisen repositorion sisällön suoraan. Näin kiinteään viittaukseen liittyvä monimutkaisuus vältetään, mutta selkeä erillisyys menetetään.

Lähestymistavan valinta

Käyttäkää monorepoa tiiviisti toisiinsa liittyville projekteille, alirepositorioita jaetun mutta itsenäisesti versioidun kirjaston upottamiseen ja multi-repo-ratkaisua, kun tiimit toimivat täysin itsenäisesti.

Pikatarkistus

Testatkaa, miten hyvin ymmärrätte monorepot ja alirepositoriot.

Kertaus

Opitte monorepoista ja alirepositorioista:

  • Monorepot keskittävät useita projekteja, kun taas multi-repot erottavat ne toisistaan
  • Alirepositoriot upottavat repositorion tiettyyn committiin kiinnitettynä .gitmodules-tiedoston avulla
  • Kloonatkaa komennolla --recurse-submodules
  • Subtree on vaihtoehtoinen upotusstrategia
Aloita maksutta

Opi Git- ja GitHub-ammattilaisen työnkulku tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Monorepot ja Git-submoduulit” ilmainen?

Kyllä – oppitunnin ”Monorepot ja Git-submoduulit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Git- ja GitHub-ammattilaisen työnkulku-kurssin, päivitä CoddyKit PROhon. Git- ja GitHub-ammattilaisen työnkulku-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Monorepot ja Git-submoduulit”?

Oppikaa monorepo- ja multi-repo-asetelmien kompromissit sekä se, miten Git-submoduulit upottavat yhden repositorion toisen sisään. Harjoittelet Git- ja GitHub-ammattilaisen työnkulku-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Git- ja GitHub-ammattilaisen työnkulku-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Git- ja GitHub-ammattilaisen työnkulku-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Monorepot ja Git-submoduulit”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Git- ja GitHub-ammattilaisen työnkulku-oppitunnilla?

Kyllä. Jokainen Git- ja GitHub-ammattilaisen työnkulku-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Git IDE-ympäristöissä ja kehitystyökaluissa
  2. Git-ratkaisut yrityksille
  3. Gitin skaalaaminen suurille tiimeille
  4. Monorepot ja Git-submoduulit
← Takaisin: Git- ja GitHub-ammattilaisen työnkulku