GIT Cherry-pick - När och hur använder man GIT Cherry-pick med exempel?

Innehållsförteckning:

Anonim

Introduktion till GIT Cherry-pick

I den här artikeln kommer vi att lära dig mer om GIT Cherry-pick i detalj. Det finns många programmerare som arbetar med samma mjukvaruutveckling från olika hörn av världen. Så hur hanterar du koderna? Hur de får andra att förstå vilka förändringar de har gjort? Hur begår man koderna och underhåller olika versioner? Hur sammanfogar du koderna?

För att lösa dessa problem kom GIT in i utvecklingsvärlden. GIT är ett enastående Source Code Management (SCM) och distribuerat versionskontrollsystem. GIT skapades av Linux Torvald, personen som utvecklade Linux-kärnan. Uppenbarligen är det ett öppen källkodsverktyg där varje programmerare kan bidra till att bygga en mjukvara från var som helst i världen.

GIT har många funktioner. Det kan ha flera grenar. En utvecklare kan skriva koder efter att ha skapat sin egen filial i det lokala systemet och sammanfoga det med huvudgrenen eller andra grenar i det fjärrkontrollfältet GIT.

Vad är GIT Cherry-pick?

Föreställ dig, projektarbetet pågår för att skriva ett manus om mobiltelefonernas historia och utveckling. Så det är många som arbetar på samma projekt och alla arbetar separat. I slutändan kommer allas manus att sammanställas tillsammans.

Nu skriver medlem A om Apple-telefoner och inser plötsligt att det kan vara bättre. Så han informerade saken till de andra teammedlemmarna som arbetar med samma projekt. En annan medlem X berättade för honom att han skrev ett manus på Android-telefoner och bad medlem A titta.

Sedan tittade medlem A på lagkamratens manus och fann att några av delarna är desamma med vissa ändringar som är riktigt bra. Därför valde han körsbärsrika dessa förändringar och klistras in i sitt eget manus. Detta är samma sak som cherry-pick kallade i GIT när det gäller programvarukodningsindustrin.

Git-cherry-pick är ett kraftfullt git-kommando och cherry-picking är en process för att plocka upp en engagemang från en gren och tillämpa den på någon annan gren. Med enkla ord kan det finnas flera grenar där utvecklare begår sina koder. Nu tänkte en utvecklare begå sina koder i gren A, emellertid begick han koderna i gren B av misstag. Den tiden körsbärsplockning kan byta tillbaka åtagandet till rätt gren.

Använd kommandot nedan (i Unix-systemet) för att känna till olika alternativ för git-cherry-pick,

Kommando:

$man git-cherry-pick

Syntaxen för cherry-pick-kommandot,

Syntax:

git cherry-pick (–edit) (-n) (-m parent-number) (-x)

När vi använder GIT Cherry-pick?

Git-cherry-pick är ett användbart verktyg men är inte en bästa praxis för hela tiden. git-cherry-pick kan användas i följande scenarier,

  • För att göra det korrekt när ett åtagande gjorts i en annan gren av misstag.
  • Föredragna traditionella sammanslagningar
  • Att tillämpa ändringarna i en befintlig åtagande.
  • Duplicera begå
  • Buggfixande

Hur fungerar GIT Cherry-pick?

En defekt som finns i koden i produktionsmiljön och en fix måste implementeras. När ändringen har implementerats och en defekt är fixad är det nu dags att ta tillbaka denna kodändring i utvecklingsmiljön så att felet inte kommer att uppstå igen och igen i produktionsmiljön i framtiden.

Det första alternativet är en enkel git-sammanslagning och det är en idealisk lösning om det fungerar. Det finns dock andra förändringar i produktionsmiljön också och de kan inte tas tillbaka till utvecklingsmiljön när de slås samman. Och i så fall är cherry-pick det rätta alternativet.

Cherry-pick ger den åtagande som gjordes för felfixning. Den väljer inte de andra åtagandena.

Här är en illustration,

Fig 1: G och H är produktionsgrenens åtaganden. A till F-utvecklingsgrenen förbinder sig. Ett problem finns i produktionsgrenen. En fix utvecklas i H commit som måste tillämpas i utvecklingsgrenen men åtagande G krävs inte att tillämpas.

Fig 2: Nu åtagas H att körsbärsplockas på utvecklingsgrenen och resulterande åtagande är H '. Åtagande G-förändringar ingår inte i utvecklingsgrenen.

Hur använder man GIT Cherry-pick med exempel?

Anta att vi har två grenar (master och new_feature) (kommando som används för att se gren-git grenen)

Vi gjorde misstag (markerade) i den nya filialgrenen av misstag. (kommando används för att se de engagerade loggarna-git-loggen)

Men det skulle bara vara i mastergrenen. Kopiera först den markerade SHA i ett anteckningsblock.

Nu kommer vi att använda ett git-cherry-pick-kommando för att flytta denna åtagande till master branch men innan detta måste vi byta till master branch (kommando används för att växla gren-git-kassan < grennamn > )

(kommando använde git - cherry - pick < commit id > ) (samma SHA bör klistra in som kopierades till anteckningsblock tidigare med git cherry-pick-kommando)

Nu kan vi se att samma åtagande är tillgängligt i mastergrenen (kommando used-git-logg)

För mer exempel på git cherry-pick-kommandon, se länken nedan,

https://git-scm.com/docs/git-cherry-pick

Viktiga saker att komma ihåg

Tre saker måste komma ihåg när du använder cherry-pick och arbetar i ett team.

1. standardisera commit-meddelande: Det är bättre att använda standardisera commit-meddelande och -x om vi körsbärsplocka från en offentlig filial.

git cherry-pick -x

Det kommer att undvika sammanslagning av konflikter i framtiden.

2. kopiera över anteckningarna: Ibland har en del av körsbärsplockan anteckningar och när vi kör körsbärsplockning kopieras anteckningarna inte. Därför är det bättre att använda det.

git notes copy

3. C herry-pick flera åtaganden när de bara är linjära: Vi vill cherry-pick flera commits som G, H (Fig 1), om de är linjära använder du bara kommandot nedan,

git cherry-pick G^..H

Slutsats

Anta att vi vill hämta ett specifikt åtagande från en annan gren och tillämpa den nuvarande grenen, här är steg som rekommenderas,

1. Hitta den begagnade hash som måste plockas med körsbär först.

2. Gå till destinationsfilialen.

3. git cherry-pick -x

Lös konflikterna om de händer. Om det finns anteckningar i det ursprungliga åtagandet, måste de kopieras.

git notes copy

Rekommenderade artiklar

Detta är en guide till GIT Cherry-pick. Här diskuterar vi dess arbete och hur man använder git cherry-pick med exempel i detalj. Du kan också titta på följande artiklar för att lära dig mer -

  1. Git-verktyg
  2. Git-terminologi
  3. Git Checkout-tagg
  4. Vad är Git Branch?