git vyšnių skynimas git reiškia, kad reikia pasirinkti įsipareigojimą iš vienos šakos ir pritaikyti jį kitai šakai. Tai skiriasi nuo kitų būdų, tokių kaip sujungti ir lenkimas kurie paprastai taiko daug įsipareigojimų kitai šakai.
pasirinkite kelių lentelių sql
git cherry-pick yra kaip tik perbazavimas , pažangi koncepcija ir galinga komanda. Jis daugiausia naudojamas, jei nenorite sujungti visos šakos ir norite kai kurių įsipareigojimų.
Kada naudoti vyšnių skynimą?
Tarkime, kad kūrėjas neatpažįsta, kuriame filiale šiuo metu dirba, ir per klaidą jis įsipareigotų kitam filialui, o ne pagrindiniam filialui. Dabar, kad tai ištaisytų, jis pirmiausia turi paleisti git šou , tada išsaugokite įsipareigojimą, patikrinkite pagrindinę šaką, uždėkite ten pataisą ir įsipareigokite su tuo pačiu įvykdymo pranešimu. Bet visa tai galima padaryti automatiškai, naudojant vos vieną komandą t.y. vyšnių skynimas.
Norėdami geriau suprasti, peržiūrėkite toliau pateiktą diagramą:

Prieš „Cherry Pick“.

Po Cherry Pick
„Cherry-pick“ komanda yra tokia:
git cherry-pick>
Įvesti maišą: Įsipareigojimo maiša yra unikalus identifikatorius, kurį sugeneruoja Git . Kiekvienas įsipareigojimas turi vieną įvykdymo maišą.
Pastaba: Naudodami šią komandą įsitikinkite, kad esate šakoje, kurioje norite taikyti įsipareigojimą.
Kaip naudoti vyšnių skynimas?
Toliau pateikiamas žingsnis po žingsnio paaiškinimas, kaip toliau sukurtame projekte naudoti komandą cherry-pick.
1 žingsnis: Atidarant git bash ir sukurti naują projektą pavadinimu mėginys ir atpirkimo inicijavimas naudojant karšta komandą.
2 žingsnis: Kuriant a “ .txt' failą naudojant mes komandą projektui, tarkime, indekso failą ir pridėkite jį prie pavyzdinio projekto, atlikite įsipareigojimą ir parašykite įsipareigojimo pranešimą prieš paspausdami Enter.
Pastaba: Paleidus mes komandą, įveskite :wq, kad išsaugotumėte ir uždarytumėte failą.
Galite patikrinti savo įsipareigojimą git žurnalas lengvai komanduokite:
3 veiksmas: Dabar tarkime, kad turime 2 versijas, todėl sukurkite 2 skirtingas šakas naudodami gito šaka komandą ir pereikite prie šakos, sakykime 2 naudodami atsiskaityti komandą.
Pastaba: Galima paprastai peržiūrėti visas šakas, paleidus komandą git filialas, kaip parodyta toliau pateiktoje diagramoje.
4 veiksmas: Tarkime, kad norite dirbti su kokia nors nauja funkcija, taigi naujos funkcijos failo sukūrimas ir pridėjimas, tarkime, funkcija.txt naudojant mes ir papildyti komandą, kaip parodyta toliau. Tada patvirtinkite pakeitimus naudodami patvirtinimo pranešimą.
Įsipareigojimą galite patikrinti naudodami komandą git log, kaip parodyta žemiau:

Tai aiškiai rodo mūsų pirmąjį įsipareigojimą, kur yra mūsų 1 filialas, o 2 atšaka jis pasitraukė toliau į priekį ir šiuo metu dirbame su savo funkcija 2 šakoje.
5 veiksmas: Tarkime, kad radome klaidą savo savybėje ir sužinojome, kad ta pati klaida yra ir mūsų 1 filiale.
Ir dabar mes bandome ištaisyti tam tikrą klaidą ar problemą, kaip parodyta toliau, pridėdami failą fix.txt, tarkime, pridėdami jį prie dabartinės šakos, ty 2, ir atlikdami reikiamus pakeitimus.
Tikriname mūsų galutinius įsipareigojimus:
6 veiksmas: Dabar ištaisėme 2 šakos klaidą, bet taip pat turime įtraukti šį pataisymą į 1 atšaką, bet nenorime sujungti šios 2 šakos su 1 šaka, nes darbas su funkcija vis dar gali vykti.
Taigi pagal šį scenarijų galime pasirinkti šį konkretų įsipareigojimą. Norėdami tai padaryti, tiesiog nukopijuokite maišos vertė pažymėtą aukščiau pateiktoje diagramoje, tada pereikite prie 1 šakos naudodami patikrą ir naudokite komandą vyšnių skynimas ir įklijuokite ką tik nukopijuotą maišą.
Kaip aiškiai matyti iš to, kas išdėstyta pirmiau, pastebime, kad anksčiau turėjome tik indeksą.txt prieš rinkdamiesi, o dabar fix.txt failą turime ir 1-oje šakoje.
Dabar, jei bandysime patikrinti git log –oneline , pamatysime, kad įsipareigojimas taip pat buvo atliktas 1 šakoje.
Kai kurie svarbūs Cherry Pick naudojimo atvejai
Toliau pateikiamos kelios įprastos „Cherry-Pick“ programos:
- Jei per klaidą padarėte įsipareigojimą neteisingoje šakoje, tada naudodami cherry-pick galite pritaikyti reikiamus pakeitimus.
- Tarkime, kai tą pačią duomenų struktūrą turi naudoti ir projekto priekinė, ir užpakalinė dalis. Tada kūrėjas gali naudoti „cherry-pick“, kad pasirinktų įsipareigojimą ir panaudotų jį savo projekto daliai.
- Kai randama klaida, labai svarbu galutiniams klientams pateikti pataisymą taip greitai, kaip galima tikėtis.
- Kartais komponento šaka gali pasenti ir nesusijungti į pagrindinę šaką, o užklausa gali būti uždaryta, tačiau kadangi „git“ niekada nepraranda šių įsipareigojimų, ją galima pasirinkti ir ji bus grąžinta.
Cherry Pick naudojimo trūkumai
„Cherry-pick“ neturėtų būti naudojamas visada, nes tai gali sukelti kopijavimą ir daugybę situacijų, kai „cherry-picking“ veiks. Įprasti sujungimai patinka visais atvejais. Be to, tais atvejais, kai įsipareigojimai iš 2 ar daugiau atšakų atnaujina panašias kodo eilutes įvairiomis medžiagomis ir paima vieną įsipareigojimą kitai šakai, tai taip pat sukelia konfliktą.
Išvada
„Git“ komanda „cherry-pick“ yra galingas įrankis, leidžiantis pasirinktinai taikyti konkrečius įsipareigojimus tarp šakų. Tai puikiai tinka taisant klaidas ir bendrinant kodą, tačiau per didelis jo naudojimas gali sukelti problemų, ypač kai įsipareigojimai paliečia tas pačias kodo eilutes. Taigi naudokite jį išmintingai, kad išlaikytumėte švarią ir veiksmingą kodo istoriją.