Alimoduulien päivittäminen ja synkronointi
Hallitse alimoduulien päivittäminen uusimpiin versioihin ja alimoduulien URL-osoitteiden synkronointi.
Alimoduulien päivittäminen ja synkronointi on ilmainen Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppitunti CoddyKitissä. Tämä on oppitunti 3/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 edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssilla on yhteensä 4 oppituntia.
Alimoduulien pitäminen ajan tasalla
Kun työskentelet Git-alimoduulien kanssa, pääprojekti (superprojekti) osoittaa yleensä alimoduulin tiettyyn committiin, ei välttämättä sen uusimpaan versioon.
Tässä oppitunnissa opit päivittämään alimoduulit uudempiin versioihin ja varmistamaan, että niiden määritykset ovat oikein.
Peruskomento `git submodule update`
Yleisin komento alimoduulien päivittämiseen on git submodule update. Tämä komento tekee kaksi pääasiaa:
- Se ottaa käyttöön täsmälleen sen commitin, jota superprojekti odottaa kunkin alimoduulin kohdalla.
- Se varmistaa, että alimoduulin työhakemisto vastaa tätä tallennettua committia.
Se ei nouda uusia committeja alimoduulin etätietovarastosta.
git submodule updateTallennettujen commitien päivittäminen
Oletetaan, että pääprojektisi .gitmodules-tiedosto määrittää alimoduulin my-lib. Kun joku muu päivittää my-lib-alimoduulia sen omassa tietovarastossa ja päivittää sitten my-lib-alimoduulia koskevan superprojektin osoittimen, sinun on päivitettävä alimoduuli.
Kun olet hakenut superprojektin muutokset, suorita tämä, jotta alimoduulin tiedostot vastaavat uutta tallennettua committia:
git pull origin main
git submodule updatePäivittäminen uusimpaan versioon komennolla `--remote`
Entä jos haluat alimoduulin osoittavan etäseurattavan haaransa kaikkein uusimpaan committiin etkä vain superprojektin tallentamaan committiin?
Tällöin --remote-valinta on hyödyllinen. Se noutaa muutokset alimoduulin etätietovarastosta ja päivittää sen HEAD-viitteen määritetyn seuratun haaran kärkeen (esimerkiksi main tai master).
`--remote` käytännössä
--remote-valinta on tehokas tapa päivittää alimoduulit nopeasti niiden omien upstream-muutosten tasalle. Se vastaa suunnilleen komennon git pull suorittamista kussakin alimoduulissa.
Muista, että tämän jälkeen superprojektin alimoduuliosoitin on synkronoimatta. Sinun on commitoitava alimoduulin uusi SHA-1-tiiviste superprojektiin.
git submodule update --remote
git add my-lib
git commit -m "Update my-lib submodule to latest"Mikä on `git submodule sync`?
Joskus alimoduulin etätietovaraston URL-osoite voi muuttua. Tällöin alimoduulille paikalliseen Git-määritykseen (.git/config) tallennettu URL-osoite on päivitettävä.
Komento git submodule sync on tarkoitettu näiden URL-osoitteiden synkronoimiseen. Se lukee URL-osoitteet .gitmodules-tiedostosta ja päivittää kunkin alimoduulin paikalliset määritykset.
Milloin `sync`-komentoa käytetään
Komennon git submodule sync käyttö on tavallista seuraavissa tilanteissa:
- Joku muuttaa alimoduulin URL-osoitetta
.gitmodules-tiedostossa ja haet muutokset. - Kloonaat ensimmäistä kertaa tietovaraston, joka sisältää alimoduuleja, vaikka
git submodule update --initkäsitteleekin tämän usein automaattisesti. - Olet muuttanut alimoduulin URL-osoitetta manuaalisesti
.gitmodules-tiedostossa ja haluat paikallisten määritysten vastaavan sitä.
`sync` käytännössä
Oletetaan, että my-lib-alimoduulisi URL-osoite muuttui .gitmodules-tiedostossa osoitteesta old-url.git osoitteeseen new-url.git. Kun olet hakenut muutoksen superprojektiisi, my-lib-alimoduulin paikalliset määritykset osoittavat edelleen vanhaan URL-osoitteeseen.
Korjaa tilanne suorittamalla tämä komento:
git submodule sync my-lib
# Or for all submodules:
git submodule syncKattava päivitystyönkulku
Kun päivität alimoduuleja, voit kattaa useimmat tilanteet yhdistämällä komentoja seuraavasti:
git pull origin main: Hae superprojektin uusimmat muutokset.git submodule sync: Päivitä alimoduulien URL-osoitteet, jos ne ovat muuttuneet.git submodule update --init --recursive --remote: Alusta mahdolliset uudet alimoduulit, päivitä kaikki olemassa olevat alimoduulit etätietovaraston uusimpaan versioon ja käsittele sisäkkäiset alimoduulit.
Näin varmistat, että kaikki on täysin ajan tasalla.
git pull origin main
git submodule sync
git submodule update --init --recursive --remoteAlimoduulien päivityshaaste
Olet hakenut superprojektisi uuden version. Työtoverisi kertoo päivittäneensä alimoduulin shared-utils sen omassa tietovarastossa, mutta ei ole vielä commitoiut uutta alimoduuliosoitinta superprojektiin.
Mitä komentoa sinun tulisi käyttää päivittääksesi shared-utils-alimoduulin etätietovaraston uusimpaan tilaan odottamatta, että superprojekti tallentaa muutoksen?
Kertaus: Alimoduulien pitäminen ajan tasalla
Olet oppinut hallitsemaan alimoduulien päivityksiä:
git submodule update: Ottaa käyttöön pääprojektin tallentaman commitin.git submodule update --remote: Hakee uusimmat muutokset alimoduulin etävarastosta ja päivittää sen työhakemiston.git submodule sync: Synkronoi alimoduulien URL-osoitteet tiedostosta.gitmodulespaikalliseen Git-määritykseesi.
Nämä komennot ovat välttämättömiä, jotta alimoduuleja sisältävä projekti pysyy toimivana ja ajan tasalla!
Opi Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut 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 ”Alimoduulien päivittäminen ja synkronointi” ilmainen?
Kyllä – oppitunnin ”Alimoduulien päivittäminen ja synkronointi” 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 edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssin, päivitä CoddyKit PROhon. Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Alimoduulien päivittäminen ja synkronointi”?
Hallitse alimoduulien päivittäminen uusimpiin versioihin ja alimoduulien URL-osoitteiden synkronointi. Harjoittelet Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Alimoduulien päivittäminen ja synkronointi”-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 edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppitunnilla?
Kyllä. Jokainen Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-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
- Git-alimoduulien esittely
- Alimoduulien lisääminen ja kloonaaminen
- Alimoduulien päivittäminen ja synkronointi
- Alimoduulien poistaminen ja deinitialisointi