Trunk-pohjainen kehitys
Tutustukaa trunk-pohjaisen kehityksen malliin, lyhytikäisiin brancheihin ja feature flag -kytkimiin kevyenä vaihtoehtona Gitflow’lle.
Trunk-pohjainen kehitys 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.
Mitä trunk-based development tarkoittaa?
Trunk-based development on haarautumisstrategia, jossa kaikki kehittäjät yhdistävät pieniä muutoksia hyvin usein yhteen jaettuun haaraan (trunkiin, yleensä main).
Siinä suositaan monia pieniä yhdistämisiä pitkäikäisten haarojen sijaan.
Miksi pitkäikäisiä haaroja vältetään?
Viikkoja käytössä olevat haarat erkanevat kauas haarasta main, mikä tekee yhdistämisistä tuskallisia.
- Ristiriitoja syntyy enemmän, mitä pidempään haara on käytössä
- Integrointiriski pysyy piilossa loppuun asti
- Koodikatselujonot kasvavat valtaviksi
Lyhytikäiset haarat
Trunk-based developmentissä haarat ovat käytössä muutaman tunnin tai enintään pari päivää, minkä jälkeen ne yhdistetään takaisin. Luokaa haara, tehkää kohdennettu työ ja yhdistäkää se nopeasti.
git checkout -b add-login
# small focused change
git commit -m 'Add login button'
git push origin add-loginSuora commitoiminen trunk-haaraan
Pienet ja vähäriskiset tiimit voivat joskus commitoida suoraan haaraan main nopean CI-portin läpi. Jokaisen commitin on pidettävä trunk julkaistavissa.
git checkout main
git pull --rebase
git commit -m 'Fix typo in footer'
git pushFeature flagit
Keskeneräiset ominaisuudet yhdistetään silti trunkiin, mutta ne pidetään piilossa feature flagin takana, kunnes ne ovat valmiita. Näin käyttöönotto ja julkaisu voidaan erottaa toisistaan.
if (featureFlags.newCheckout) {
renderNewCheckout();
} else {
renderOldCheckout();
}Jatkuva integraatio on välttämätöntä
Koska kaikki yhdistävät muutoksia jatkuvasti trunkiin, jokaisen pushin automaattiset testit ovat välttämättömiä, jotta main pysyy vihreänä ja käyttöönotettavana.
Trunk-based development ja Gitflow
Gitflow käyttää monia pitkäikäisiä haaroja (develop, release, feature). Trunk-based käyttää yhtä päähaaraa ja pieniä, lyhytikäisiä haaroja.
- Trunk-based sopii jatkuvaan toimitukseen
- Gitflow sopii ajastettuihin ja versioituihin julkaisuihin
Release-haarat poikkeuksena
Trunk-based-tiimit voivat luoda lyhytikäisen release-haaran vain version vakauttamista varten ja cherry-pickata korjaukset takaisin siihen.
git checkout -b release/1.4 mainHaarojen pitäminen synkronoituna
Rebasetkaa lyhytikäiset haarat uusimman trunk-version päälle ennen yhdistämistä ristiriitojen minimoimiseksi.
git fetch origin
git rebase origin/mainNopea yhdistäminen takaisin
Kun CI menee läpi, yhdistäkää lyhytikäinen haara ja poistakaa se. Kierto alkaa uudelleen uudesta haarasta.
git checkout main
git merge --no-ff add-login
git branch -d add-loginMilloin trunk-based kannattaa valita
Valitkaa trunk-based development, kun toimitatte ohjelmistoa usein, CI on vahva ja haluatte välttää merge-helvetin. Se sopii luontevasti yhteen jatkuvan käyttöönoton kanssa.
Pikatesti
Testatkaa, miten hyvin ymmärrätte trunk-based developmentin.
Kertaus
Opitte trunk-based-mallin periaatteet:
- Yksi jaettu trunk ja useita pieniä, lyhytikäisiä haaroja
- Feature flagit piilottavat keskeneräisen työn
- Vahva CI pitää trunkin aina julkaistavissa
- Malli eroaa Gitflow'n pitkäikäisistä haaroista
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 ”Trunk-pohjainen kehitys” ilmainen?
Kyllä – oppitunnin ”Trunk-pohjainen kehitys” 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 ”Trunk-pohjainen kehitys”?
Tutustukaa trunk-pohjaisen kehityksen malliin, lyhytikäisiin brancheihin ja feature flag -kytkimiin kevyenä vaihtoehtona Gitflow’lle. 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 ”Trunk-pohjainen kehitys”-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
- Feature-haarojen työnkulku
- Gitflow-työnkulun perusteet
- Rebase vai merge
- Trunk-pohjainen kehitys