Profesjonell arbeidsflyt med Git og GitHub · leksjon

Cherry-picking av commits

Forstå hvordan du selektivt bruker enkeltcommits fra én branch på en annen ved hjelp av `git cherry-pick`.

Leksjon 3 av 411 trinn

Cherry-picking av commits er en gratis leksjon i Profesjonell arbeidsflyt med Git og GitHub på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Profesjonell arbeidsflyt med Git og GitHub, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Profesjonell arbeidsflyt med Git og GitHub inneholder totalt 4 leksjoner.

Flytte commiter selektivt

Hva om De bare trenger én bestemt endring fra en branch, og ikke hele branchen? git cherry-pick lar Dem bruke én enkelt commit fra hvor som helst i repositoriets historikk direkte på den gjeldende branchen.

Det er som å plukke ett enkelt kirsebær fra et tre! Dette oppretter en helt ny commit på den gjeldende branchen, som gjentar endringene fra den opprinnelige.

Når bør De bruke cherry-pick?

Se for Dem at De arbeider på en stor feature-branch og oppdager at en kritisk feilretting De laget der, også trengs på hovedbranchen for produksjon med en gang. De vil ikke merge hele feature-branchen ennå.

Dette er et perfekt scenario for cherry-pick. Det hjelper Dem med å overføre isolerte endringer uten å ta med urelatert arbeid.

Den grunnleggende kommandoen

Den grunnleggende kommandoen er enkel: git cherry-pick <commit-hash>.

  • Kontroller først at De står på branchen der De vil bruke commiten.
  • Deretter trenger De den unike identifikatoren (hashen) til commiten De vil plukke.
  • Git oppretter deretter en ny commit med de samme endringene på den gjeldende branchen.
git cherry-pick <commit-hash>

Finne commit-hasher

For å bruke cherry-pick trenger De hashen! De kan finne den med git log.

Alternativet --oneline er svært nyttig for en kortfattet visning:

git log --oneline

Sette opp et cherry-pick-scenario

La oss sette opp et enkelt scenario. Vi oppretter en main-branch og en feature/login-branch. Vi lager en commit på feature/login som vi vil hente over til main.

Vi vil hente commiten «HOTFIX» til 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"

Utføre cherry-pick

Bytt nå tilbake til main-branchen og bruk commiten «HOTFIX». La oss anta at hashen for «HOTFIX: Fix login button styling» var abcdefg.

Etter at De har kjørt dette, vises en ny commit på main-branchen med de samme endringene som abcdefg. Bruk git log --oneline for å se den!

git checkout main
git cherry-pick abcdefg

Håndtere cherry-pick-konflikter

Akkurat som ved merging kan cherry-pick føre til konflikter hvis de samme kodelinjene er endret på ulike måter i de to historikkene.

  • Git setter operasjonen på pause og markerer filene med konflikter.
  • Løs konfliktene manuelt i filene.
  • Bruk git add på de løste filene.
  • Fullfør med git cherry-pick --continue.
# After resolving conflicts in editor:
git add .
git cherry-pick --continue

Plukke flere commiter

De kan bruke cherry-pick på mer enn én commit om gangen.

For å plukke et område med commiter (fra hashA til, men ikke inkludert, hashB):

git cherry-pick hashA..hashB

Når bør det brukes (og ikke brukes)?

Cherry-pick er kraftig, men bør brukes med omtanke.

  • Egner seg til: Hotfixer og overføring av små, isolerte endringer mellom uavhengige brancher.
  • Mindre egnet til: Regelmessig integrering av store mengder endringer, siden det kan føre til dupliserte commiter og gjøre historikken vanskeligere å følge hvis De ikke er forsiktig. Foretrekk merging eller rebasing ved integrering av hele brancher.

Kort kontroll: Formålet med cherry-pick

De har en commit på branchen feature/new-design som løser et kritisk stilproblem. De trenger denne rettelsen på main-branchen umiddelbart, uten å merge hele feature-branchen.

Oppsummering: Målrettede endringer

I denne leksjonen har vi lært om git cherry-pick, en nyttig kommando for å bruke bestemte commiter på den gjeldende branchen.

  • Den oppretter en ny commit med de samme endringene på målbranchen.
  • Den egner seg godt til hotfixer eller overføring av isolerte endringer.
  • De trenger commitens hash, som vanligvis finnes med git log --oneline.
  • Vær forberedt på å løse konflikter, akkurat som ved merging.

Når De mestrer cherry-pick, får De presis kontroll over prosjektets historikk!

Gratis å komme i gang

Lær deg Profesjonell arbeidsflyt med Git og GitHub med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Cherry-picking av commits» gratis?

Ja – hele teksten i «Cherry-picking av commits» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Profesjonell arbeidsflyt med Git og GitHub-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Profesjonell arbeidsflyt med Git og GitHub inneholder totalt 4 leksjoner.

Hva lærer jeg i «Cherry-picking av commits»?

Forstå hvordan du selektivt bruker enkeltcommits fra én branch på en annen ved hjelp av `git cherry-pick`. Du øver på Profesjonell arbeidsflyt med Git og GitHub med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Profesjonell arbeidsflyt med Git og GitHub?

Ingen tidligere erfaring er nødvendig. Profesjonell arbeidsflyt med Git og GitHub på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Cherry-picking av commits»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Profesjonell arbeidsflyt med Git og GitHub-leksjonen?

Ja. Alle Profesjonell arbeidsflyt med Git og GitHub-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Manuell løsning av mergekonflikter
  2. Interaktiv rebasing av historikk
  3. Cherry-picking av commits
  4. Bruke Git Rerere til å gjenbruke konfliktløsninger
← Tilbake til Profesjonell arbeidsflyt med Git og GitHub