GIT Kirsikka-valinta - Milloin ja kuinka käyttää GIT Cherry-pick-esimerkkiä?

Sisällysluettelo:

Anonim

Johdanto GIT Cherry-pickiin

Tässä artikkelissa opitaan yksityiskohtaisesti GIT Cherry-pick -yrityksestä. On monia ohjelmoijia, jotka työskentelevät samassa ohjelmistokehityksessä eri puolilta maailmaa. Sitten miten hallita koodeja? Kuinka he saavat muut ymmärtämään heidän tekemänsä muutokset? Kuinka sitoutua koodeihin ja ylläpitää erilaisia ​​versioita? Kuinka yhdistää koodit?

Näiden ongelmien ratkaisemiseksi GIT tuli kehitysmaailmaan. GIT on erinomainen lähdekoodinhallinta (SCM) ja hajautettu versionhallintajärjestelmä. GIT: n loi Linux Torvald, henkilö, joka kehitti Linux-ytimen. On selvää, että se on avoimen lähdekoodin työkalu, jolla jokainen ohjelmoija voi osallistua ohjelmiston rakentamiseen mistä päin maailmaa tahansa.

GIT: llä on monia ominaisuuksia. Sillä voi olla useita sivuja. Kehittäjä voi kirjoittaa koodeja luomalla oman haaran paikallisessa järjestelmässä ja yhdistää sen päähaaran tai muiden etä GIT-arkiston haarojen kanssa.

Mikä on GIT Cherry-pick?

Kuvittele, projektityö jatkuu kirjoittamalla käsikirjoitus matkapuhelimien historiasta ja kehityksestä. Joten, monet ihmiset työskentelevät samassa projektissa ja kaikki työskentelevät erikseen. Loppujen lopuksi jokaisen käsikirjoitus kootaan kuitenkin yhdessä.

Nyt jäsen A kirjoittaa Apple-puhelimista ja huomaa yhtäkkiä, että se voi olla parempi. Joten hän ilmoitti asiasta muille ryhmän jäsenille, jotka työskentelevät samassa projektissa. Toinen jäsen X kertoi hänelle, että hän kirjoittaa käsikirjoituksen Android-puhelimiin ja pyysi jäsentä A katsomaan.

Sitten jäsen A tutki joukkuetoverin käsikirjoitusta ja havaitsi, että jotkut osuudet ovat samat joidenkin muutosten kanssa, jotka ovat todella hyviä. Siksi hän valitsi nuo muutokset kiinni ja liitti omiin kirjoituksiinsa. Tämä on sama mitä kirsikka-valinta kutsui GIT: ssä ohjelmistokoodausteollisuudessa.

Git-kirsikka-poiminta on voimakas git-komento ja kirsikan poiminta on prosessi, jolla poimitaan sitoumus haarasta ja sovelletaan sitä johonkin toiseen haaraan. Yksinkertaisesti sanottuna, voi olla useita sivukonttoreita, joissa kehittäjät sitoutuvat koodiinsa. Nyt yhden kehittäjän piti sitoa koodinsa haaraan A, mutta hän sitoi koodit haarassa B vahingossa. Tuolloin kirsikka-valinta voi vaihtaa sitoutumisen oikeaan haaraan.

Käytä alla -komentoa (Unix-järjestelmässä) tietääksesi eri vaihtoehdot git-cherry-pick,

Komento:

$man git-cherry-pick

Kirsikka-valintakomennon syntaksi,

Syntaksi:

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

Kun käytämme GIT Cherry-pick -sovellusta?

Git-kirsikka-poiminta on hyödyllinen työkalu, mutta ei paras käytäntö koko ajan. git-kirsikka-poiminta voidaan käyttää seuraavissa tilanteissa,

  • Jotta se olisi oikein, kun sitoumus tehdään vahingossa toiselle sivulle.
  • Suositeltava perinteinen sulautuminen
  • Sovelletaan muutokset olemassa olevaan sitoumukseen.
  • Kopioi sitoutuminen
  • Bugi-korjaus

Kuinka GIT Cherry-pick toimii?

Tuotantoympäristön koodissa löydetty virhe ja korjaus on otettava käyttöön. Kun muutos on toteutettu ja vika on korjattu, nyt on aika palauttaa tämä koodimuutos takaisin kehitysympäristöön, jotta vika ei toistu toistuvasti tuotantoympäristössä.

Ensimmäinen vaihtoehto on yksinkertainen yhdistäminen ja se on ihanteellinen ratkaisu, jos se toimii. Tuotantoympäristössä on kuitenkin myös muita muutoksia, joita ei voida palauttaa kehitysympäristöön sulautuessaan. Ja siinä tapauksessa kirsikka-valinta on oikea vaihtoehto.

Cherry-pick tuo sitoumuksen, joka tehtiin vain virheiden korjaamiseksi. Se ei valitse muita sitoumuksia.

Tässä on kuva,

Kuvio 1: G ja H ovat tuotantohaara. A-F-kehitysosasto sitoutuu. Ongelma löytyy tuotantoalalta. Korjaus kehitetään H-sitoumuksessa, jota on sovellettava kehitysosassa, mutta sitoumusta G ei vaadita sovellettavan.

Kuva 2: Sitouttaa H on kirsikka-poimittu kehitysosastolla ja tuloksena oleva sitoutuminen on H '. Sitoumuksen G muutokset eivät sisälly kehitysosastoon.

Kuinka käyttää GIT Cherry-pick-esimerkkiä?

Oletetaan, että meillä on kaksi haaraa (master ja new_feature) (komento käytettiin branch-git -haaran näkemiseen)

Teimme sitoutumisen (korostettu) new_feature-haarassa vahingossa. (komento, jota käytetään sitoutuneiden lokien näyttämiseen-git-loki)

Sen piti kuitenkin olla vain pääosassa. Kopioi ensin korostettu SHA muistilappuun.

Nyt käytämme git-cherry-pick-komentoa siirtääksesi tämän sitoutumisen master-haaraan, mutta ennen sitä meidän on vaihdettava master-haaraan (komento, jota käytetään kytkemään branch-git-kassalle < sivunimi > )

(komento käytetty git - kirsikka - poimi < sitoa tunnus > ) (sama SHA tulisi liittää, joka kopioitiin notepadiin aiemmin git kirsikka-poisto -komennolla)

Nyt näemme, että sama sitoumus on saatavana isäntähaarassa (komento käytetty-git loki)

Katso alla olevasta linkistä lisää esimerkkejä git cherry-pick -komennoista.

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

Tärkeitä muistettavia asioita

Kolme asiaa on muistettava, kun käytetään kirsikkavalintaa ja työskennellään ryhmässä.

1. vakioi sitoutumisviesti: On parempi käyttää standardisoitua viesti viestiä ja -x, jos kirsikka-poiminta julkisesta sivuliikkeestä.

git cherry-pick -x

Se välttää konfliktien sulautumisen tulevaisuudessa.

2. kopioi muistiinpanojen päälle: Joskus kirsikka-poiminnalla on muistiinpanoja ja kun ajamme kirsikka-poimia, muistiinpanoja ei kopioida. Siksi on parempi käyttää sitä.

git notes copy

3. C herry-pick-useita sitoumuksia, kun ne ovat vain lineaarisia: Haluamme kirsikka-valita useita sitoumuksia, kuten G, H (kuva 1), jos ne ovat lineaarisia, käytä vain alla olevaa komentoa,

git cherry-pick G^..H

johtopäätös

Oletetaan, että haluamme valita tietyn sitoumuksen toiselta haaralta ja soveltaa sitä nykyiseen haaraan, tässä suositellaan vaiheita,

1. Etsi sitova hash, joka on ensin poimittava.

2. Siirry kohdehaaraan.

3. git cherry-pick -x

Ratkaise konfliktit, jos niitä tapahtuu. Jos alkuperäisessä sitoumuksessa on huomautuksia, ne on kopioitava.

git notes copy

Suositellut artikkelit

Tämä on opas GIT Cherry-pickiin. Tässä keskustellaan yksityiskohtaisesti esimerkkien avulla sen toiminnasta ja siitä, kuinka kirsikkavalintaa käytetään. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Git Työkalut
  2. Git-terminologia
  3. Git Checkout -tagi
  4. Mikä on Git Branch?