Haarautuminen: branch, checkout ja merge
Luo ominaisuushaaroja, vaihda niiden välillä, yhdistä haarat takaisin main-haaraan ja ratkaise yksinkertaisia yhdistämisristiriitoja
Haarautuminen: branch, checkout ja merge on ilmainen Frontend Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/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 Frontend Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Frontend Academy-kurssilla on yhteensä 4 oppituntia.
Miksi haaroja?
Haarojen ansiosta useita ominaisuuksia ja virheenkorjauksia voidaan kehittää rinnakkain häiritsemättä toisiaan. Main (tai master) pysyy vakaana, kun taas keskeneräinen työ säilytetään feature-haaroissa.
Haarojen luettelo ja luominen
git branch luettelee haarat. git branch name luo uuden haaran. Uusi haara alkaa nykyisestä commitista.
git branch # list all branches
git branch feature/auth # create a new branch
git branch -d feature/auth # delete merged branchHaarojen vaihtaminen
git checkout branchname siirtyy olemassa olevaan haaraan. git checkout -b branchname luo haaran ja siirtyy siihen yhdellä kertaa. Nykyaikainen vastine on git switch.
git checkout main # switch to main
git checkout feature/auth # switch to existing branch
git checkout -b hotfix/nav # create + switch
# Modern (git 2.23+):
git switch main
git switch -c feature/authTyypillinen haaratyönkulku
1) Siirtykää main-haaraan. 2) Noutakaa uusimmat muutokset. 3) Luokaa feature-haara. 4) Tehkää commitit. 5) Yhdistäkää muutokset takaisin main-haaraan. 6) Poistakaa feature-haara.
git switch main
git pull
git switch -c feature/dark-mode
# ... make commits ...
git switch main
git merge feature/dark-mode
git branch -d feature/dark-modeHaarojen yhdistäminen
git merge branchname sisällyttää nimetyn haaran muutokset nykyiseen haaraan. Git yrittää yhdistää muutokset automaattisesti. Fast-forward-yhdistäminen tapahtuu, kun historia on suoraviivainen.
git switch main
git merge feature/auth
# Fast-forward: no merge commit if history is linearYhdistämiskommit
Kun haarat ovat eriytyneet toisistaan, Git luo yhdistämiskommitin, jolla on kaksi emocommittia. Näin molempien kehityshaarojen koko historia säilyy.
Yhdistämisristiriidat
Kun samaa tiedostoa on muutettu molemmissa haaroissa, Git ei pysty yhdistämään muutoksia automaattisesti vaan merkitsee ristiriidan. Muokatkaa tiedostoa ristiriidan ratkaisemiseksi ja tehkää sitten commit.
<<<<<<< HEAD
const COLOR = 'blue';
=======
const COLOR = 'red';
>>>>>>> feature/theming
// After resolving:
const COLOR = 'navy'; // your decision
git add styles.css
git commitgit rebase — Lineaarinen historia
git rebase main toistaa haaranne commitit uusimman main-haaran päälle ja luo lineaarisen historian ilman yhdistämiskommiteja. Käyttäkää sitä feature-haaroissa ennen yhdistämistä ja välttäkää shared-haarojen rebase-toimintoa.
git switch feature/auth
git rebase main # replay commits on top of current mainHEAD — Nykyinen sijainti
HEAD on osoitin nykyisen haaran kärkeen tai irrotetussa HEAD-tilassa tiettyyn commitiin. git log näyttää HEADin sijainnin. HEAD~1 tarkoittaa edellistä committia ja HEAD~3 kolmea committia aiempaa sijaintia.
Keskeneräisen työn tallentaminen stashilla
git stash tallentaa committaamattomat muutokset ja palauttaa työpuun puhtaaksi. Käyttäkää sitä, kun haluatte vaihtaa haaraa committaamatta keskeneräistä työtä. git stash pop palauttaa muutokset.
git stash # save WIP
git switch hotfix/urgent
# ... fix and commit ...
git switch feature/auth
git stash pop # restore WIPHaarojen nimeämiskäytännöt
Yleisiä malleja ovat feature/feature-name, fix/bug-description, hotfix/critical-fix ja chore/dependency-update. Johdonmukainen nimeäminen pitää haaraluettelon selkeänä.
Pikatarkistus
Millä komennolla luotte uuden haaran ja siirrytte siihen yhdellä kertaa?
Kertaus: Git-haarat
git branch luo haaroja. git checkout/switch vaihtaa haaraa. git merge yhdistää muutokset. Ratkaiskaa ristiriidat muokkaamalla ristiriitamerkkien ympäröimiä lohkoja. git stash tallentaa keskeneräisen työn. Käyttäkää git rebasea lineaariseen historiaan. Käyttäkää feature-haaroja kaikessa uudessa työssä ja pitäkää main vakaana. Poistakaa yhdistetyt haarat, jotta luettelo pysyy siistinä.
Opi HTML 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
- 41
- Oppitunnit
- 163
Usein kysytyt kysymykset
Onko oppitunti ”Haarautuminen: branch, checkout ja merge” ilmainen?
Kyllä – oppitunnin ”Haarautuminen: branch, checkout ja merge” 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 Frontend Academy-kurssin, päivitä CoddyKit PROhon. Frontend Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Haarautuminen: branch, checkout ja merge”?
Luo ominaisuushaaroja, vaihda niiden välillä, yhdistä haarat takaisin main-haaraan ja ratkaise yksinkertaisia yhdistämisristiriitoja Harjoittelet Frontend Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Frontend Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Frontend Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Haarautuminen: branch, checkout ja merge”-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ä Frontend Academy-oppitunnilla?
Kyllä. Jokainen Frontend Academy-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 init, add, commit ja status
- Haarautuminen: branch, checkout ja merge
- Etärepositoriot: push, pull ja clone
- GitHubin pull request -työnkulku