Commitien cherry-pick
Ymmärtäkää, miten yksittäisiä committeja sovelletaan valikoivasti haarasta toiseen `git cherry-pick` -komennolla.
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 --onelineCherry-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 abcdefgCherry-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 --continueUseiden 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..hashBMilloin 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!
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
- Yhdistämiskonfliktien manuaalinen ratkaiseminen
- Interaktiivinen rebase historian muokkaamiseen
- Commitien cherry-pick
- Git Rereren käyttö konfliktien ratkaisujen uudelleenkäyttöön