Git

Kā ķiršu izvēlēties Git

Kā ķiršu izvēlēties Git
git ķiršu izvēle ir Git apvienošanas iezīme. Bet ir neliela atšķirība git ķiršu izvēlē un git saplūšanā. Arī lietošanas gadījums ir atšķirīgs. Vispirms redzēsim, kā darbojas git sapludināšana, pēc tam salīdziniet to ar git ķiršu izvēli. Tādā veidā jūs sapratīsit, kad jāizmanto git merge un kad jāizmanto git cherry pick.

Pieņemsim, ka jums ir Git repozitorijs. Jūs strādājat pie meistars filiāle, un jūs esat veicis dažas saistības (A, B un C) uz meistars filiāle tāpat.

Tagad pēkšņi jums ir lieliska ideja. Tātad, jūs izveidojat citu filiāli newidea. Tad jūs sākāt veikt saistības (E, F un G) tur.

Jūs arī veicāt dažas izmaiņas meistars filiāle atkal un pievienoja jaunu apņemšanos H.

Ja jūsu jaunā ideja ir veiksmīga, varat apvienot newidea atzars uz meistars zars. Pieņemsim, ka jūs to apvienojāt. Tas radīs jaunu apņemšanos Es kā redzams attēlā zemāk. Jaunajā saistībās būs viss (visas izmaiņas saistībās E, F, un G) filiāles newidea.

Pieņemsim, ka jūs nevēlaties apvienot visas filiāles saistības newidea uz meistars zars. Jūs vēlaties tikai apvienot izmaiņas (tikai izmaiņas diff) saistībās F uz meistars zars. Šeit ienāk git ķiršu izvēle. Git ķiršu izvēle ļauj jums to izdarīt. Jūs vienkārši atrodat saistības hash, kuru vēlaties izvēlēties ķiršiem, un pielietojiet to vajadzīgajā filiālē. Ļoti vienkārši.

Šajā rakstā es jums parādīšu, kā ķiršus izvēlēties Git. Tātad, sāksim darbu.

Git Cherry Pick darbplūsma:

Šajā sadaļā es izveidošu Git repozitoriju tā, lai jūs saprastu, kāpēc tiek izmantota git ķiršu izvēle un kā ķiršu izvēle Git.

Vispirms inicializējiet tukšu Git krātuvi ķiršu-pick-demo / sekojoši:

$ git init cherry-pick-demo

Tagad pārejiet uz krātuvi šādi:

$ cd cherry-pick-demo /

Tagad izveidojiet galvenais.c fails ar šādu saturu:

Tagad pievienojiet failu pieturvietai šādi:

$ git pievienot .

Tagad veiciet izmaiņas šādi:

$ git saistības -m 'sākotnējā saistība'

Tagad izveidojiet .gitignore fails ar šādu saturu:

Pievienojiet failu pieturvietai.

$ git pievienot .

Izpildiet izmaiņas:

$ git saistīt -m 'pievienots .gitignore fails '

Kā redzat, manā rīcībā tagad ir 2 saistības meistars zars.

$ git log - tiešsaistē

Tagad es vēlos pārvietot savu vietējo Git repozitoriju uz attālo Git serveri, lai citi cilvēki varētu strādāt ar šo repozitoriju. Šeit varat izmantot arī GitHub. Šeit es šeit izmantošu vietējo SSH serveri.

Tātad pievienojiet attālā Git repozitorija URL šādi:

$ git tālvadības pults pievienot izcelsmi git @ git.linuxhint.com: ~ / cherry-pick-demo.git

Tagad nospiediet meistars sazinieties ar attālo Git repozitoriju šādi:

$ git push izcelsmes meistars

Tagad teiksim bobs vēlas dot savu ieguldījumu projektā. Tātad, viņš savā datorā klonēja Git krātuvi.

$ git klons git @ git.linuxhint.com: ~ / cherry-pick-demo.git myproject

Tagad bobs pāriet uz savu projektu direktoriju.

$ cd myproject /

Viņam ir arī 2 saistības, kuras esmu pievienojis.

$ git log - tiešsaistē

Tagad bobs izveido pārbaude filiāle, lai izmēģinātu viņa idejas.

$ git izrakstīšanās -b tests

Viņš nolemj atgriezenisko vērtību mainīt ar konstanti EXIT_SUCCESS no stdlib bibliotēka.

Viņš pievieno izmaiņas iestudējuma zonai.

$ git pievienot .

Apņemas veikt izmaiņas.

$ git saistības -m 'kā atgriešanās vērtību 0 vietā izmantoja EXIT_SUCCESS'

Tagad viņš nolemj izmantot funkciju printMessage () lai izdrukātu ziņojumu. Tātad, viņš raksta funkciju.

Viņš atkal veic izmaiņas.

$ git pievienot .
$ git saistīt -m 'pievienota funkcija printMessage ()'

Tad bobs programmā izmanto funkciju.

Viņš atkal veic izmaiņas.

$ git pievienot .
$ git saistīt -m 'ziņojuma drukāšanai izmantota funkcija printMessage ()'

Tagad Bobam ir šādas saistības pārbaude zars.

Tagad bobs nospiež testa zaru uz Git tālvadības krātuvi.

$ git push izcelsmes tests

Tagad Bobs piezvana jums un stāsta par lieliskajām izmaiņām, ko viņš veica. Tātad, jūs ielādējāt izmaiņas Git attālās repozitorijā savā vietējā repozitorijā.

$ git ielādēt

Tagad jūs redzat jaunu filiāli izcelsme / tests.

Jūs atradāt arī 3 jaunas saistības, kuras izdarīja bobs.

$ git log - sākotnējā izcelsme / tests

Tagad jūs vēlētos uzzināt, kādas izmaiņas Bob izdarīja.

$ git log -p izcelsme / tests

Jūs nolemjat neaizstāt atgriešanās vērtību ar EXIT_SUCCESS, kā to darīja bobs.

Jums patīk jēdziens izmantot funkciju ziņojumu drukāšanai.

Jums patīk arī šī apņemšanās.

Tātad, jūs vēlaties apvienot 2 no 3 izdarītajām bobu izdarītajām izdarībām. Ja filiāles testa apvienošanai esat izmantojis git merge, tiks piemērotas visas 3 saistības. Bet, izmantojot git cherry pick funkciju, jūs varat apvienot tikai jums patīkamās saistības.

Ņemiet vērā, ka, veicot ķiršu izvēli Git, jūs vienmēr sākat ar vecāko apņemšanos un pamazām virzāties uz jaunāko.

Pirms tam es ķiršu izvēlējos galvenais.c fails izskatās šādi.

Tagad izvēlēsimies vecāko no 2 saistībām 9a4e532 šādi:

$ git cherry-pick 9a4e532

Apvienošanās konflikts! Tas var notikt.

Tagad atveriet galvenais.c failu un novērš apvienošanās konfliktu.

Galīgajam failam vajadzētu izskatīties šādi.

Tagad pievienojiet izmaiņas pieturvietai.

$ git pievienot.

Tagad veiciet izmaiņas šādi:

$ git cherry-pick - turpiniet

PIEZĪME: Jūs varat arī izmantot git apņemties arī šeit. Atkarīgs no tevis. ES dodu priekšroku git cherry-pick -turpiniet jo tas automātiski izmantos apņemšanās ziņojumu no apņemšanās, ko es ķiršoju.

Tagad ierakstiet savu apņemšanās ziņojumu šeit un saglabājiet failu.

Būtu jāpievieno jauna saistība.

Ķirši izvēlieties nākamo apņemšanos šādi:

$ git cherry-pick 08ba5e7

Nav apvienošanās konfliktu. Lieliski! Jauna saistība jāpievieno automātiski.

Kā redzat, es saņemu tieši to, ko vēlējos. Es apvienoju tikai man nepieciešamās saistības.

Tātad, tā jūs izvēlaties ķiršu Git. Paldies, ka izlasījāt šo rakstu.

AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...
Vidējā peles poga nedarbojas sistēmā Windows 10
The peles vidējā poga palīdz jums ritināt garas tīmekļa lapas un ekrānus ar lielu datu daudzumu. Ja tas apstājas, jūs galu galā izmantosiet tastatūru,...
Kā nomainīt peles kreiso un labo pogu operētājsistēmā Windows 10
Tas ir diezgan normāli, ka visas datora peles ierīces ir ergonomiski izstrādātas lietotājiem ar labo roku. Bet ir pieejamas peles ierīces, kas ir īpaš...