GIT Cherry-pick - Kada i kako koristiti GIT Cherry-pick sa primjerom?

Sadržaj:

Anonim

Uvod u GIT Cherry-pick

U ovom ćemo članku detaljno saznati više o GIT Cherry-pick-u. Postoji mnogo programera koji rade na istom razvoju softvera iz različitih krajeva svijeta. Pa kako onda upravljati kodovima? Kako će učiniti da drugi shvate koje su promjene napravili? Kako počiniti kodove i održavati različite verzije? Kako spojiti kodove?

Da bi riješio ove probleme, GIT je ušao u svijet razvoja. GIT je izvanredan sustav upravljanja izvornim kodom (SCM) i distribuirani sustav kontrole verzija. GIT je kreirao Linux Torvald, osoba koja je razvila Linux kernel. Očito je riječ o alatu otvorenog koda gdje svaki programer može pridonijeti stvaranju dijela softvera iz bilo kojeg mjesta na svijetu.

GIT ima mnogo mogućnosti. Može imati više grana. Programer može pisati kodove nakon što je stvorio vlastiti ogranak u lokalnom sustavu i spojio ga s glavnom ogrankom ili drugim granama udaljenog GIT-ovog spremišta.

Što je GIT Cherry-pick?

Zamislite, u tijeku je rad na projektu pisanja scenarija o povijesti i evoluciji mobitela. Dakle, puno je ljudi koji rade na istom projektu i svi rade odvojeno. No, na kraju će se svi scenariji sastaviti zajedno.

Članica A piše o Apple telefonima i odjednom shvati da može biti i bolje. Stoga je o svemu obavijestio ostale članove tima koji rade na istom projektu. Drugi član X rekao mu je da piše scenarij na Android telefonima i zamolio je člana A da ga pogleda.

Zatim je član A pogledao scenarij suigrača i ustanovio da su neki dijelovi isti s nekim promjenama koje su stvarno dobre. Stoga je on promijenio te trešnje i zalijepio ga po vlastitom scenariju. To je isto što se Cherry-pick nazivalo u GIT-u u području programske industrije kodiranja.

Git-cherry-pick snažna je git naredba, a branje trešanja proces je preuzimanja obveza iz neke grane i primjene na neku drugu granu. Jednostavnim riječima, može postojati više grana u kojima programeri obvezuju svoje kodove. Sada je jedan programer trebao počiniti svoje kodove u grani A, međutim greške je počinio u grani B greškom. To vrijeme trešanja može prebaciti natrag odgovarajuću granu.

Upotrijebite naredbu ispod (u sustavu Unix) da biste znali različite mogućnosti za git-cherry-pick,

naredba:

$man git-cherry-pick

Sintaksa za naredbu cherry-pick,

Sintaksa:

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

Kada koristimo GIT Cherry-pick?

Git-trešnja je koristan alat, ali ne i najbolja praksa za sva vremena. git-cherry-pick može se koristiti u sljedećim scenarijima,

  • Kako bi bilo ispravno kada je slučajno počinjena u drugoj grani.
  • Poželjno tradicionalno spajanje
  • Primjena promjena u postojećem dokumentu.
  • Duplikat počiniti
  • Ispravljanje pogrešaka

Kako djeluje GIT Cherry-pick?

Kvar pronađen u proizvodnom okruženju i treba popraviti problem. Jednom kada se promjena primijeni i ošteti ispravljen, sada je vrijeme da se ova promjena koda vrati u razvojno okruženje kako se kvar neće više pojavljivati ​​u proizvodnom okruženju u budućnosti.

Prva opcija je jednostavno git spajanje i idealno je rješenje ako djeluje. Međutim, u Proizvodnom su okruženju učinjene i druge promjene koje se ne mogu vratiti u razvojno okruženje tijekom spajanja. I u tom slučaju, trešnja je pravi izbor.

Cherry-pick donosi taj dokument koji je napravljen samo za ispravljanje grešaka. Ne bira druge obveze.

Evo ilustracije,

Slika 1: G i H su grane proizvodnje. Poduzima se grana od A do F Razvoj. Problem postoji u grani Proizvodnja. Popravak je izrađen u H-prenosu koji se treba primijeniti u grani Razvoj, ali se obveza G ne mora primijeniti.

Slika 2: Sada se oznaka H trešnja odabire na grani Razvoj i rezultirajući ispadanje je H '. Promjene G obveza nisu uključene u granu za razvoj.

Kako koristiti GIT Cherry-pick sa primjerom?

Pretpostavimo da imamo dvije grane (master i new_feature) (naredba koja se koristi za pregled grane grana-git)

Mi smo se obvezali (Istaknuti) u ogranku nove_gretacije greškom. (naredba se koristi za pregled počinjenog logs-git dnevnika)

Međutim, to bi trebalo biti samo u glavnoj branši. Prvo kopirajte istaknutu SHA u bilježnicu.

Sada ćemo upotrijebiti naredbu git-cherry-pick za premještanje ove obveze u matičnu granu, no prije toga trebamo se prebaciti na matičnu granu (naredba koja se koristi za prebacivanje grana-git odjava < grana ime > )

(naredba korištena git - trešnja - pick < počinite id > ) (ista SHA treba zalijepiti koja je prije kopirana u bilježnicu pomoću git cherry-pick naredbe)

Sada možemo vidjeti da je ista naredba dostupna u master grani (naredba used-git log)

Za više primjera git cherry-pick naredbi, pogledajte donju vezu,

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

Važne stvari koje treba zapamtiti

Tri stvari koje trebate zapamtiti dok koristite trešnja i radite u timu.

1. standardizirajte poruku počinjenja: Bolje je koristiti standardiziranu poruku počinjenja i -x ako trebamo odabrati iz javne podružnice.

git cherry-pick -x

To će izbjeći spajanje sukoba u budućnosti.

2. kopirati preko bilješki: Ponekad neki trepnjači imaju bilješke, a kada pokrenemo odabir trešanja, bilješke se ne kopiraju. Stoga je bolje koristiti.

git notes copy

3. Izaberite višestruke preglede ako su linearni: Želimo tretirati višestruke stavke poput G, H (Sl. 1), ako su linearni, tada upotrijebite samo naredbu dolje,

git cherry-pick G^..H

Zaključak

Pretpostavimo da želimo preuzeti određenu odrednicu iz neke druge grane i primijeniti je na trenutnu granu, evo preporučenih koraka,

1. Pronađite komšiluk koji treba prvo odabrati.

2. Idite do odredišta.

3. git cherry-pick -x

Riješite sukobe ako se dogode. Ako u izvornom dokumentu postoje bilješke, potrebno ih je kopirati.

git notes copy

Preporučeni članci

Ovo je vodič za GIT Cherry-pick. Ovdje smo raspravljali o njenom radu i kako koristiti git-cherry pick sa detaljima primjera. Možete pogledati i sljedeće članke da biste saznali više -

  1. Git Alati
  2. Git terminologija
  3. Oznaka Git Checkout
  4. Što je Git Branch?