Git- ja GitHub-ammattilaisen työnkulku · Oppitunti

Commitien cherry-pick

Ymmärtäkää, miten yksittäisiä committeja sovelletaan valikoivasti haarasta toiseen `git cherry-pick` -komennolla.

Oppitunti 3/411 vaihetta

Commitien cherry-pick on ilmainen Git- ja GitHub-ammattilaisen työnkulku-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- 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.

Commitien valikoiva siirtäminen

Entä jos tarvitsette haarasta vain yhden tietyn muutoksen, ette koko haaraa? git cherry-pick -komennolla voitte ottaa yksittäisen commitin mistä tahansa repositorion historiasta suoraan nykyiseen haaraanne.

Se on kuin poimisitte puusta yhden kirsikan! Tämä luo nykyiseen haaraanne uuden commitin, joka sisältää alkuperäisen commitin muutokset.

Milloin cherry-pickiä käytetään

Kuvitelkaa työskentelevänne suurella feature-haaralla ja huomaavanne, että siellä tekemänne kriittinen virheenkorjaus tarvitaan myös tuotannossa käytettävään päähaaraan heti. Ette kuitenkaan halua vielä yhdistää koko feature-haaraa.

Tämä on täydellinen tilanne cherry-pick -komennon käyttöön. Sen avulla voitte siirtää yksittäisiä muutoksia tuomatta mukaan niihin liittymätöntä työtä.

Peruskomento

Peruskomento on yksinkertainen: git cherry-pick <commit-hash>.

  • Varmistakaa ensin, että olette haarassa, johon haluatte ottaa commitin käyttöön.
  • Tarvitsette sen jälkeen valittavan commitin yksilöllisen tunnisteen eli hajautusarvon.
  • Git luo nykyiseen haaraanne uuden commitin, jossa on samat muutokset.
git cherry-pick <commit-hash>

Commitien hajautusarvojen etsiminen

Cherry-pick-toimintoa varten tarvitsette hajautusarvon! Löydätte sen komennolla git log.

Valitsin --oneline on erityisen hyödyllinen tiiviin näkymän saamiseksi:

git log --oneline

Cherry-pick-tilanteen valmistelu

Valmistellaan yksinkertainen tilanne. Luomme haarat main ja feature/login. Teemme haaraan feature/login commitin, jonka haluamme tuoda haaraan main.

Haluamme tuoda commitin "HOTFIX" haaraan main.

git init my_project
cd my_project
echo "Initial content" > file.txt
git add file.txt
git commit -m "Initial commit"
git branch feature/login
git checkout feature/login
echo "Login feature added" >> login.txt
git add login.txt
git commit -m "Add basic login feature"
echo "Fix: Login button style" >> style.css
git add style.css
git commit -m "HOTFIX: Fix login button styling"

Cherry-pick-toiminnon suorittaminen

Siirtykää nyt takaisin haaraan main ja ottakaa commit "HOTFIX" käyttöön. Oletetaan, että commitin "HOTFIX: Fix login button styling" hajautusarvo on abcdefg.

Tämän suorittamisen jälkeen haaraan main ilmestyy uusi commit, jossa on samat muutokset kuin commitissa abcdefg. Näette sen komennolla git log --oneline!

git checkout main
git cherry-pick abcdefg

Cherry-pick-ristiriitojen käsittely

Yhdistämisen tavoin cherry-pick-toiminto voi aiheuttaa ristiriitoja, jos samoja koodirivejä on muutettu eri tavoin molemmissa historioissa.

  • Git keskeyttää toiminnon ja merkitsee ristiriitaiset tiedostot.
  • Ratkaiskaa ristiriidat manuaalisesti tiedostoissa.
  • Lisätkää ratkaistut tiedostot komennolla git add.
  • Viimeistelkää toiminto komennolla git cherry-pick --continue.
# After resolving conflicts in editor:
git add .
git cherry-pick --continue

Useiden commitien valitseminen

Voitte tehdä cherry-pick-toiminnon useammalle kuin yhdelle commitille kerrallaan.

Jos haluatte valita commitien alueen (hajautusarvosta hashA hajautusarvoon hashB asti, mutta ei sitä mukaan lukien):

git cherry-pick hashA..hashB

Milloin toimintoa kannattaa käyttää – ja milloin ei

Cherry-pick on tehokas toiminto, mutta käyttäkää sitä harkiten.

  • Sopii hyvin: Hotfix-korjauksiin ja pienten, erillisten muutosten siirtämiseen toisiinsa liittymättömien haarojen välillä.
  • Ei ole ihanteellinen: Suurten muutoskokonaisuuksien säännölliseen integrointiin, sillä se voi luoda päällekkäisiä committeja ja vaikeuttaa historian seuraamista, jos ette toimi huolellisesti. Suosikaa haarojen koko integrointiin yhdistämistä tai rebasea.

Pikatarkistus: cherry-pick-toiminnon tarkoitus

Teillä on haarassa feature/new-design commit, joka korjaa kriittisen tyylittelyongelman. Tarvitsette tämän korjauksen heti haaraan main yhdistämättä koko feature-haaraa.

Kertaus: kohdennetut muutokset

Tässä oppitunnissa opimme git cherry-pick -komennon, jolla tiettyjä committeja voidaan ottaa käyttöön nykyisessä haarassa.

  • Se luo kohdehaaraan uuden commitin, jossa on samat muutokset.
  • Se sopii ihanteellisesti hotfix-korjauksiin tai erillisten muutosten siirtämiseen.
  • Tarvitsette commitin hajautusarvon, jonka löydätte yleensä komennolla git log --oneline.
  • Varautukaa ratkaisemaan ristiriidat samalla tavalla kuin yhdistämisessä.

Cherry-pick-toiminnon hallinta antaa teille tarkan hallinnan projektinne historiaan!

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 ”Commitien cherry-pick” ilmainen?

Kyllä – oppitunnin ”Commitien cherry-pick” 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 ”Commitien cherry-pick”?

Ymmärtäkää, miten yksittäisiä committeja sovelletaan valikoivasti haarasta toiseen `git cherry-pick` -komennolla. 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 3/4.

Kuinka kauan ”Commitien cherry-pick”-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. Yhdistämiskonfliktien manuaalinen ratkaiseminen
  2. Interaktiivinen rebase historian muokkaamiseen
  3. Commitien cherry-pick
  4. Git Rereren käyttö konfliktien ratkaisujen uudelleenkäyttöön
← Takaisin: Git- ja GitHub-ammattilaisen työnkulku