git kirsikkapoimi gitissä tarkoittaa sitoumuksen valitsemista yhdestä haarasta ja sen soveltamista toiseen haaraan. Tämä eroaa muista tavoista, kuten yhdistää ja ohittaminen joka yleensä soveltaa monia sitoumuksia toiseen haaraan.
git cherry-pick on aivan kuten uudelleenemoiminen , kehittynyt konsepti ja myös tehokas komento. Sitä käytetään pääasiassa, jos et halua yhdistää koko haaraa ja haluat osan sitoumuksista.
Milloin kirsikkapoimia käytetään?
Oletetaan, että kehittäjä ei tunnista, millä haaralla hän tällä hetkellä on, ja vahingossa hän sitoutuu toiseen haaraan sen sijaan, että sitoutuisi päähaaraan. Nyt hänen täytyy ensin juosta korjatakseen sen git show , tallenna sitten toimitus, tarkista päähaara, aseta korjaustiedosto sinne ja sitoudu samalla toimitusviestillä. Mutta kaikki tämä voidaan tehdä automaattisesti käyttämällä vain yhtä komentoa, ts. kirsikkapoimi.
Ymmärtääksesi paremmin, katso alla olevaa kaaviota seuraavasti:

Ennen Cherry Pickiä

Cherry Pickin jälkeen
Cherry-pick-komento on seuraava:
git cherry-pick>
Tee hash: Toimitustiiviste on yksilöllinen tunniste, jonka Git luo. Jokaisella sitoumuksella on yksi toimitustiiviste.
Huomautus: Kun käytät tätä komentoa, varmista, että olet haarassa, johon haluat soveltaa toimitusta.
Kuinka käyttää kirsikkapoimi?
Tässä on vaiheittainen selitys cherry-pick-komennon käytöstä alla luodussa projektissa, joka näkyy vaiheittain alla seuraavasti:
Vaihe 1: Avaamalla git bash ja luodaan uusi projekti nimeltä näyte ja alustaa repo käyttämällä se on kuuma komento.
linux run -komento
Vaihe 2: Luodaan a ' .txt' tiedostoa käyttämällä me -komento projektiin, sanotaan indeksitiedosto ja lisätään se esimerkkiprojektiimme ja tehdään sitoumus ja kirjoitetaan toimitusviesti ennen Enter-näppäintä.
Huomautus: Juoksun jälkeen me -komento, kirjoita :wq tallentaaksesi ja sulkeaksesi tiedoston.
Sitoumuksesi voi tarkistaa git loki komentaa helposti:
Vaihe 3: Oletetaan nyt, että meillä on 2 versiota, joten luo 2 erilaista haaraa käyttämällä git haara komento ja siirry haaraan, sanokaamme 2 käyttämällä käy kassalla komento.
Huomautus: Kaikki haarat voidaan yksinkertaisesti tarkastella suorittamalla git haarakomento alla olevan kaavion mukaisesti.
Vaihe 4: Oletetaan nyt, että haluat työstää jotain uutta ominaisuutta, joten uuden ominaisuustiedoston luominen ja lisääminen mahdollistaa esimerkiksi feature.txt-tiedoston me ja lisätä komento vastaavasti alla olevan kuvan mukaisesti. Vahvista sitten muutokset vahvistusviestillä.
Voit tarkistaa sitoutumisesi git log -komennolla alla olevan kuvan mukaisesti:

Se näyttää selvästi ensimmäisen sitoutumisemme, jossa haaramme 1 on siellä ja haarassa 2 se on siirtynyt kauemmas eteenpäin ja työskentelemme parhaillaan ominaisuutemme parissa haarassa 2
Vaihe 5: Oletetaan nyt, että löysimme vian ominaisuudestamme ja saimme tietää, että tämä sama bugi on myös 1 haarassamme.
Ja nyt yritämme korjata jonkin virheen tai ongelman alla esitetyllä tavalla lisäämällä fix.txt-tiedoston, oletetaan ja lisätään se nykyiseen haaraan eli 2:een ja tekemällä tarvittavat muutokset.
Viimeisten sitoumustemme tarkistaminen:
Vaihe 6: Nyt, olemme korjanneet bugin haarassa 2, mutta meidän on lisättävä tämä korjaus myös haaraamme 1, mutta emme halua yhdistää tätä haaraa 2 haaraamme 1, koska työ saattaa vielä olla kesken ominaisuuden kanssa.
kuinka int muunnetaan merkkijonoksi
Näin ollen tässä skenaariossa voimme valita tämän tietyn sitoumuksen. Voit tehdä tämän kopioimalla hash arvo korostettuna yllä olevassa kaaviossa, siirry sitten haaraan 1 käyttämällä kassaa ja käytä sitten komentoa kirsikkapoimi ja liitä juuri kopioimamme hash.
Kuten yllä olevasta selvästi näkyy, niin huomaamme, että aiemmin meillä oli vain index.txt ennen kirsikkapoimintaa, mutta nyt meillä on fix.txt-tiedosto myös ensimmäisessä haarassamme.
Jos nyt yritämme tarkistaa git log –oneline , voimme nähdä, että sitoumus tuli myös haarassa 1.
Joitakin tärkeitä Cherry-pickin käyttötapauksia
Seuraavassa on joitain Cherry-Pickin yleisiä sovelluksia:
- Jos teet vahingossa sitoumuksen väärään haaraan, voit tehdä tarvittavat muutokset käyttämällä cherry-pick-toimintoa.
- Oletetaan, että projektin käyttöliittymä ja taustaosa käyttävät samaa tietorakennetta. Sitten kehittäjä voi käyttää cherry-pick-toimintoa sitoumuksen valitsemiseen ja käyttää sitä omassa osassa projektia.
- Kun virhe löydetään, on tärkeää välittää korjaus loppuasiakkaille niin nopeasti kuin voidaan odottaa.
- Joskus komponenttihaara saattaa vanhentua eikä sulautua päähaaraan ja pyyntö saattaa sulkeutua, mutta koska git ei koskaan menetä näitä sitoumuksia, se voidaan poimia ja se palaa.
Cherry Pickin käytön haitat
Cherry-poimintaa ei kannata aina käyttää, koska se voi aiheuttaa kopiointitoimia ja lukuisia tilanteita, joissa cherry-poimiminen toimisi, perinteiset yhdistämiset ovat kaikin puolin mieluisia. Lisäksi tilanteessa, jossa kahden tai useamman haaran commit päivittää samanlaisia koodirivejä erilaisilla aineilla ja tekee yhden sitoumuksen toiselle haaralle, se aiheuttaa myös ristiriitoja.
Johtopäätös
Gitin cherry-pick-komento on tehokas työkalu tiettyjen sitoumusten valikoivaan soveltamiseen haarojen välillä. Se sopii erinomaisesti virheiden korjaamiseen ja koodin jakamiseen, mutta sen liiallinen käyttö voi johtaa ongelmiin, varsinkin kun sitoumukset koskettavat samoja koodirivejä. Käytä siis sitä viisaasti ylläpitääksesi puhdasta ja tehokasta koodihistoriaa.