Frontend Academy · Oppitunti

Haarautuminen: branch, checkout ja merge

Luo ominaisuushaaroja, vaihda niiden välillä, yhdistä haarat takaisin main-haaraan ja ratkaise yksinkertaisia yhdistämisristiriitoja

Oppitunti 2/413 vaihetta

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 branch

Haarojen 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/auth

Tyypillinen 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-mode

Haarojen 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 linear

Yhdistä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 commit

git 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 main

HEAD — 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 WIP

Haarojen 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ä.

Aloita maksutta

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

  1. git init, add, commit ja status
  2. Haarautuminen: branch, checkout ja merge
  3. Etärepositoriot: push, pull ja clone
  4. GitHubin pull request -työnkulku
← Takaisin: Frontend Academy