GIT Cherry-pick'i tutvustus

Selles artiklis õpime üksikasjalikult GIT Cherry-pick'i kohta. Sama tarkvara arendamise kallal töötab palju programmeerijaid maailma eri nurkadest. Kuidas siis koode hallata? Kuidas nad panevad teisi mõistma, milliseid muudatusi nad on teinud? Kuidas siduda koode ja säilitada erinevaid versioone? Kuidas koode ühendada?

Nende probleemide lahendamiseks tuli GIT arendusmaailma. GIT on silmapaistev lähtekoodihalduse (SCM) ja hajutatud versioonikontrollisüsteem. GIT lõi Linux Torvald, inimene, kes arendas Linuxi kerneli. Ilmselt on see avatud lähtekoodiga tööriist, kus iga programmeerija saab anda oma panuse tarkvara loomiseks ükskõik kuhu maailma.

GIT-il on palju funktsioone. Sellel võib olla mitu haru. Arendaja saab kirjutada koode pärast oma haru loomisel kohalikus süsteemis ja liita see GIT-i serveri hoidla peaharu või muude harudega.

Mis on GIT Cherry-pick?

Kujutage ette, projektitöö toimub mobiiltelefonide ajaloo ja arengu skripti kirjutamiseks. Niisiis, sama projekti kallal töötab palju inimesi ja kõik töötavad eraldi. Lõpuks koostatakse kõigi stsenaarium siiski kokku.

Nüüd kirjutab liige A Apple'i telefonidest ja saab äkki aru, et see võib olla parem. Niisiis, ta teatas asjast teistele meeskonna liikmetele, kes töötavad sama projekti kallal. Teine liige X ütles talle, et ta kirjutab Android-telefonidele skripti ja palus liikmel A vaadata.

Seejärel uuris liige A meeskonnakaaslase skripti ja leidis, et mõned osad on ühesugused, mõne muudatusega, mis on tõesti head. Seetõttu valis ta need muudatused kirsiks ja kleepis oma skripti. See on sama, mida kirss-pick kutsus GIT tarkvara kodeerimise valdkonnas.

Kirsi korjamine on võimas käsk ja kirssi korjamine on protsess, mille käigus haru küljest korjatakse kohus ja rakendatakse seda mõnele muule harule. Lihtsamalt öeldes võib olla mitu haru, kus arendajad sisestavad oma koodid. Nüüd pidi üks arendaja siduma oma koodid haruga A, kuid pani koodid harus B ekslikult toime. Sel ajal võib kirss-korjamine suunata õigele harule tagasi.

Kasutage käsku allpool (Unixi süsteemis), et teada saada erinevaid valikuid git-cherry-pick,

Käsk:

$man git-cherry-pick

Kirsi valimise käsu süntaks

Süntaks:

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

Kui kasutame GIT Cherry-pick'i?

Kirsi korjamine on kasulik vahend, kuid mitte kogu aeg parim tava. git-cherry-pick saab kasutada järgmistes stsenaariumides,

  • Et see oleks korrektne, kui tahtmatult mõnes teises harus toime pandud kohustus.
  • Eelistatav traditsiooniline ühinemine
  • Muudatuste rakendamine olemasolevas kohustuses.
  • Duplikaatkohustus
  • Vigade parandamine

Kuidas GIT Cherry-pick töötab?

Tootmiskeskkonnas on koodis leitud viga ja selle parandamine tuleb rakendada. Kui muudatus on rakendatud ja defekt on parandatud, on nüüd aeg see koodimuudatus tagasi arenduskeskkonda, et defekt ei korduks tulevikus uuesti tootmiskeskkonnas.

Esimene võimalus on lihtne ühendamine ja see toimib ideaalselt. Kuid ka tootmiskeskkonnas on tehtud muid muudatusi ja neid ei saa ühinemisel arengukeskkonda tagasi tuua. Ja sel juhul on õige valik kirsikook.

Cherry-pick toob selle kohustuse, mis tehti ainult veaparanduseks. See ei vali teisi kohustusi.

Siin on illustratsioon,

Joonis 1: G ja H on tootmisharu kohustused. A kuni F arendusharu kohustub. Probleem on leitud tootmisharus. Parandus töötatakse välja H-komisjonis, mida tuleb rakendada arendusharudes, kuid kohustust G ei pea rakendama.

Joonis 2: Nüüd eraldatakse H arenduse harul kirsiks ja saadud kohustus on H '. Kulukohustuste G muudatused ei kuulu arenduse haru.

Kuidas kasutada GIT Cherry-pickit näitega?

Oletame, et meil on kaks haru (master ja new_feature) (käsku kasutatakse filiaali-git haru nägemiseks)

Tegime new_feature harus kohustuse (esiletõstetud) eksikombel. (käsk, mida kasutatakse pühendatud logide vaatamiseks)

See pidi siiski olema ainult põhiosas. Esiteks kopeerige esiletõstetud SHA märkmepaberisse.

Nüüd kasutame git-cherry-pick käsku, et teisaldada see peaharu, kuid enne seda peame minema üle ülemise oksa (käsk, mida kasutatakse haru-git checkouti < haru nimi > vahetamiseks)

(käsk kasutab git - kirss - vali < sisesta id > ) (sama SHA peaks olema kleebi, mis oli varem kopeeritud märkmikusse git kirssi valimise käsuga)

Nüüd näeme, et sama kohustus on saadaval ka peaharu (käsk used-git log)

Lisateabe saamiseks kirsiks valimise käskude kohta lugege allolevat linki,

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

Olulised asjad, mida meeles pidada

Kirsiks koristamise ajal ja meeskonnas töötades tuleb meeles pidada kolme asja.

1. Ülesandeteate standardiseerimine: Parem on kasutada standardsõnumiteateid ja -x, kui me valime avalikku haru.

git cherry-pick -x

See väldib tulevikus konfliktide ühinemist.

2. kopeerige märkmetest üle: Mõnikord on mõnede kirsside valimisel märkmeid ja kui me kirsse valime, siis märkmeid ei kopeerita. Seetõttu on parem seda kasutada.

git notes copy

3. Mitme siduva valiku korraldamine ainult siis, kui need on lineaarsed: kui me lineaarsed, tahame valida mitu sidusat kommenteerimist nagu G, H (joonis 1), siis kasutage ainult järgmist käsku,

git cherry-pick G^..H

Järeldus

Oletame, et soovime korjata konkreetse haru teiselt harult ja rakendada praegusele harule, siin on soovitatud toimingud,

1. Otsige üles rämps, mis tuleb kõigepealt kirsiks korjata.

2. Minge sihtpunkti harusse.

3. git cherry-pick -x

Lahendage konfliktid, kui need juhtuvad. Kui algses kohustuses on märkmeid, tuleb need kopeerida.

git notes copy

Soovitatavad artiklid

See on GIT Cherry-pick'i juhend. Siin arutame üksikasjalikult selle toimimist ja kuidas kasutada kirsikooki koos näidetega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Git tööriistad
  2. Git terminoloogia
  3. Git Checkout silt
  4. Mis on Git Branch?

Kategooria: