logo

Git – ķiršu pick

git ķiršu pick git nozīmē izvēlēties apņemšanos no vienas filiāles un piemērot to citai filiālei. Tas ir pretstatā citiem veidiem, piemēram, sapludināt un apdzīšana kas parasti piemēro daudzas saistības citā atzarā.

git cherry-pick ir gluži kā pārbāzēšana , uzlabota koncepcija un arī spēcīga komanda. To galvenokārt izmanto, ja nevēlaties apvienot visu filiāli un vēlaties dažas saistības.



virkne līdz veselam skaitlim Java

Kad lietot ķiršu pick?

Pieņemsim, ka izstrādātājs neatpazīst, kurā filiālē viņš pašlaik atrodas, un kļūdas dēļ viņš apņemas izmantot citu filiāli, nevis galveno filiāli. Tagad, lai to salabotu, viņam vispirms jāskrien git šovs , pēc tam saglabājiet apņemšanos, pārbaudiet galveno filiāli, uzklājiet tur ielāpu un veiciet apņemšanos ar to pašu commit ziņojumu. Bet to visu var izdarīt automātiski, izmantojot tikai vienu komandu t.i. ķiršu pick.

Lai labāk izprastu, skatiet tālāk redzamo diagrammu:

Pirms Cherry Pick



Pirms Cherry Pick

Pēc Cherry Pick

Pēc Cherry Pick

Komanda Cherry-pick ir šāda:



git cherry-pick>

Veiciet jaucējfunkciju: Apstiprināšanas hash ir unikāls identifikators, ko ģenerē Git. Katrai apņemšanai ir savs commit hash.

Piezīme: Lietojot šo komandu, pārliecinieties, ka atrodaties tajā filiālē, kurā vēlaties lietot apņemšanos.

Kā izmantot ķiršu pick?

Tālāk ir sniegts soli pa solim skaidrojums par komandas cherry-pick izmantošanu tālāk izveidotajā projektā, kas parādīts tālāk šādi:

1. darbība: Atverot git bash un izveidojot jaunu projektu ar nosaukumu paraugs un repo inicializēšana, izmantojot tas ir karsts komandu.

2. darbība: Izveidojot a ' .txt” failu izmantojot mēs komanda projektam, pieņemsim, indeksa failu un pievienojiet to mūsu paraugprojektam un veiciet apņemšanos un uzrakstiet apstiprināšanas ziņojumu, pirms nospiežat taustiņu Enter.

Piezīme: Pēc palaišanas mēs komandu , ierakstiet :wq, lai saglabātu un aizvērtu failu.

Jūsu apņemšanos var pārbaudīt pēc git žurnāls viegli pavēlēt:

3. darbība: Tagad pieņemsim, ka mums ir 2 versijas, tāpēc izveidojiet 2 dažādas filiāles, izmantojot git filiāle komandu un pārejiet uz filiāli, teiksim 2, izmantojot saņemt kasi komandu.

Piezīme: Visus zarus var vienkārši apskatīt, palaižot git filiāles komandu, kā parādīts zemāk esošajā diagrammā.

4. darbība: Tagad pieņemsim, ka vēlaties strādāt pie kādas jaunas funkcijas, tāpēc, izveidojot un pievienojot jaunu līdzekļu failu, varat teikt, ka funkcija.txt, izmantojot mēs un pievienot attiecīgi komandu, kā parādīts zemāk. Pēc tam apstipriniet izmaiņas ar apstiprinājuma ziņojumu.

Savu saistību var pārbaudīt, izmantojot git log komandu, kā parādīts zemāk:

Tas skaidri parāda mūsu pirmo apņemšanos, kur atrodas mūsu 1. zars, un 2. zarā tā ir attālinājusies tālāk uz priekšu, un mēs pašlaik strādājam pie savas funkcijas 2. zarā.

5. darbība: Tagad pieņemsim, ka esam atraduši kļūdu savā funkcijā un uzzinājām, ka šī pati kļūda ir sastopama arī mūsu 1. filiālē.

Un tagad mēs cenšamies labot kādu kļūdu vai problēmu, kā parādīts tālāk, pievienojot failu fix.txt, pieņemsim un pievienojot to pašreizējai filiālei, t.i., 2, un veicot nepieciešamās izmaiņas.

Mūsu galīgo saistību pārbaude:

6. darbība: Tagad mēs esam izlabojuši kļūdu 2. zarā, taču mums ir jāpievieno šis labojums arī mūsu 1. nozarei, taču mēs nevēlamies apvienot šo 2. zaru mūsu 1. zarā, jo darbs, iespējams, joprojām turpinās.

atšķirība starp lauvu un tīģeri

Tādējādi šajā scenārijā mēs varam izvēlēties šo konkrēto apņemšanos. Lai to izdarītu, vienkārši kopējiet hash vērtību iezīmēts iepriekš redzamajā diagrammā, pēc tam pārejiet uz 1. zaru, izmantojot izrakstīšanu, un pēc tam izmantojiet komandu ķiršu pick un ielīmējiet tikko nokopēto hash.

Kā skaidri redzams no iepriekš minētā, tad mēs pamanām, ka iepriekš mums bija tikai index.txt, pirms veicat ķiršu atlasi, bet tagad fails fix.txt ir arī mūsu 1. filiālē.

Tagad, ja mēģināsim pārbaudīt git log –oneline , mēs varēsim redzēt, ka apņemšanās tika veikta arī 1. zarā.

Daži svarīgi Cherry-pick lietošanas gadījumi

Tālāk ir norādītas dažas izplatītas Cherry-Pick lietojumprogrammas.

  1. Ja kļūdas dēļ veicat apņemšanos nepareizā zarā, tad, izmantojot cherry-pick, varat piemērot nepieciešamās izmaiņas.
  2. Pieņemsim, kad viena un tā pati datu struktūra ir jāizmanto gan projekta priekšgalam, gan aizmugurei. Pēc tam izstrādātājs var izmantot cherry-pick, lai izvēlētos apņemšanos un izmantotu to savā projekta daļā.
  3. Brīdī, kad tiek atrasta kļūda, ir ļoti svarīgi gala klientiem nosūtīt labojumu tik ātri, kā tas varētu būt paredzēts.
  4. Dažkārt komponenta zars var novecot un nesaplūst galvenajā zarā, un pieprasījums var tikt aizvērts, taču, tā kā git nekad nezaudē šīs saistības, to var atlasīt un tas atgriezīsies.

Cherry Pick lietošanas trūkumi

Cherry-pick nevajadzētu izmantot vienmēr, jo tas var izraisīt kopēšanas apņemšanos un daudzas situācijas, kad ķiršu novākšana varētu darboties, parastie sapludināšana patīk, ņemot vērā visas lietas. Arī situācijā, kad saistības no 2 vai vairākām atzariem atjaunina līdzīgas koda rindas ar dažādām vielām un izvelk vienu apņemšanos uz otru zaru, tas arī izraisa konfliktu.

Secinājums

Git cherry-pick komanda ir spēcīgs rīks, lai selektīvi piemērotu noteiktas saistības starp filiālēm. Tas ir lieliski piemērots kļūdu labošanai un koda koplietošanai, taču pārmērīga tā izmantošana var radīt problēmas, it īpaši, ja apņemšanās skar tās pašas koda rindas. Tāpēc izmantojiet to saprātīgi, lai uzturētu tīru un efektīvu koda vēsturi.