Kiraz toplama Git ile bir taahh├╝t nedir?


Al─▒nan cevaba git


Son zamanlarda cherry-pick bir taahh├╝tte bulunmam istendi .

Peki, vi┼čne toplaman─▒n git i├žinde bir taahh├╝d├╝n anlam─▒ nedir? Bunu nas─▒l yap─▒yorsun?


2051









Cevap say─▒s─▒n─▒ say: 10






Git'teki kiraz toplama, bir daldan bir taahh├╝t se├žmek ve bir ba┼čkas─▒na uygulamak anlam─▒na gelir.

Bu, normal olarak bir├žok komisyonun ba┼čka bir ┼čubeye uyguland─▒─č─▒ gibi merge ve ba┼čka yollarla z─▒tl─▒k rebase yarat─▒r.

  1. Taahh├╝d├╝n├╝ uygulamak istedi─činiz dalda oldu─čunuzdan emin olun.

     git checkout master
     
  2. A┼ča─č─▒dakileri y├╝r├╝t├╝n:

     git cherry-pick <commit-hash>
     

NB:

  1. Halka a├ž─▒k bir ┼čubeden se├žtiyseniz, kullanmay─▒ d├╝┼č├╝nmelisiniz.

     git cherry-pick -x <commit-hash>
     

    Bu standart bir taahh├╝t mesaj─▒ ├╝retecektir. Bu ┼čekilde, siz (ve i┼č arkada┼člar─▒n─▒z) hala taahh├╝d├╝n kayna─č─▒n─▒ takip edebilir ve gelecekte birle┼čme ├žat─▒┼čmalar─▒n─▒ ├Ânleyebilirsiniz.

  2. Taahh├╝d├╝n├╝ze ili┼čtirilmi┼č notlar─▒n─▒z varsa, kiraz dilimlerini takip etmiyorlar. Onlar─▒ da getirmek i├žin, kullanman─▒z gerekir:

     git notes copy <from> <to>
     

Ek ba─člant─▒lar:


2497







Bu al─▒nt─▒; Git ile S├╝r├╝m Kontrol├╝ (Ger├žekten harika bir kitap, git ilgileniyorsan─▒z sat─▒n alman─▒z─▒ ├Âneririz)

D├╝zenleme: Bu cevap hala etkilenmeye ba┼člad─▒─č─▒ndan, bu konuda eylem videosu e─čitimine ├žok g├╝zel bir ┼čekilde eklemek istiyorum:

Youtube: Git kiraz-tanesine giri┼č

Git cherry-pick komutunu kullan git cherry-pick commit komutu, ge├žerli dalda belirtilen taahh├╝tle yap─▒lan de─či┼čiklikleri uygular. Yeni ve farkl─▒ bir taahh├╝t getirecektir. A├ž─▒k├žas─▒ konu┼čmak gerekirse, git cherry-pick kullanmak bir depodaki mevcut tarihi de─či┼čtirmez; bunun yerine, tarihe ekler. Farkl─▒l─▒k yapma i┼člemi yoluyla de─či┼čiklik yapan di─čer Git i┼člemlerinde oldu─ču gibi, verilen taahh├╝tten de─či┼čiklikleri tam olarak uygulamak i├žin ├žak─▒┼čmalar─▒ ├ž├Âzmeniz gerekebilir . Git cherry-pick komutu tipik olarak bir depodaki bir daldan belirli bir komisyonu farkl─▒ bir dalda tan─▒tmak i├žin kullan─▒l─▒r. Yayg─▒n olarak kullan─▒lan bir kullan─▒m, bir bak─▒m bran┼č─▒ndan bir geli┼čtirme ┼čubesine taahh├╝tte bulunulmas─▒d─▒r.

 $ git checkout rel_2.3
$ git cherry-pick dev~2 # commit F, above
 

├Ânce:
├Ânce

sonra:
sonra


279







Git'teki kiraz toplama, bir ┼čubeden ba┼čka bir ┼čubeye taahh├╝t vermek i├žin tasarlanm─▒┼čt─▒r. ├ľrne─čin e─čer yap─▒labilir. bir hata yapt─▒ ve yanl─▒┼č dalda de─či┼čiklik yapt─▒, ancak t├╝m ┼čubeyi birle┼čtirmek istemiyordu. Sadece yapabilirsiniz. Taahh├╝d├╝n├╝z├╝ geri al─▒n ve ba┼čka bir dalda kiraz toplay─▒n.

Kullanmak i├žin, sadece ihtiyac─▒n─▒z var git cherry-pick hash , nerede hash ba┼čka bir ┼čubeden bir ba─čl─▒l─▒k s├Âz konusudur.

Tam prosed├╝r i├žin bak─▒n─▒z: http://technosophos.com/2009/12/04/git-cherry-picking-move-small-code-patches-across-branches.html


149







Vi┼čne toplaman─▒z gerekti─činde durumun k─▒sa ├Ârne─či

Senaryoyu takip etmeyi d├╝┼č├╝n├╝n. ─░ki ┼čuben var.

a) release1 - Bu ┼čube m├╝┼čterinize gidiyor, ancak d├╝zeltilmesi gereken baz─▒ hatalar var.

b) master - ├ľrne─čin, release2 i├žin i┼člevsellik ekleyebilece─činiz klasik ana dal.

┼×─░MD─░ : Release1'de bir ┼čeyi d├╝zelttiniz . Tabii ki de bu d├╝zeltme gerekli usta . Ve bu kiraz toplama i├žin tipik bir kullan─▒m durumudur. Yani bu senaryoda kiraz toplama, release1 ┼čubesinden bir taahh├╝t ald─▒─č─▒n─▒z ve ana ┼čubeye dahil etti─činiz anlam─▒na gelir .


80







cherry-pick bir Git ├Âzelli─čidir. Birisi bir daldaki belirli taahh├╝tleri bir hedef ┼čubeye taahh├╝t etmek isterse, kiraz toplama kullan─▒l─▒r.
git kiraz toplama ad─▒mlar─▒ a┼ča─č─▒daki gibidir.

  1. ├Âdeme (ge├ži┼č yap) hedef ┼čubesi.
  2.  git cherry-pick <commit id>
     

    Burada taahh├╝t kimli─či ba┼čka bir ┼čubenin faaliyet kimli─čidir.

     git cherry-pick 9772dd546a3609b06f84b680340fb84c5463264f
     
  3. hedef ┼čubeye itmek

Https://git-scm.com/docs/git-cherry-pick adresini ziyaret edin.


50







Bir kiraz─▒n bir yeniden kazanmaya benzer bir se├žim yap─▒p yapmad─▒─č─▒n─▒ veya daha ├žok bir yeniden kazanma gibi y├Ânetildi─čini d├╝┼č├╝nebilirsiniz. Bununla, varolan bir taahh├╝d├╝ al─▒r ve ba┼člang─▒├ž ÔÇőÔÇőnoktas─▒ olarak ┼ču anda bulundu─čunuz dal─▒n ba┼čkanl─▒─č─▒n─▒ alarak onu yeniden olu┼čturur.

Bir rebase X ebeveyni olan bir taahh├╝d├╝ al─▒r ve bir Y ebeveyni varm─▒┼č gibi taahh├╝d├╝n├╝ yeniler ve bu tam olarak ne cherry-pick yapar.

Kiraz se├žimi, komisyonlar─▒ nas─▒l se├žti─činiz ile ilgili. ─░le pull (rebase), git ├Ârt├╝k ┼čubenize ├žekti ne ├╝st├╝nde yerel kaydedilmesini yeniden olu┼čturur, fakat cherry-pick a├ž─▒k├ža baz─▒ (ler) i┼člemek se├žin ve ├Ârt├╝k mevcut ┼čube ├╝st├╝nde onu (onlar─▒) yeniden.

Yani, sizin tarz─▒n─▒z farkl─▒, ancak kaputun alt─▒nda ├žok benzer operasyonlar var - taahh├╝tlerin yenilenmesi.


21


2017-01-31





Bir ├že┼čit Kopyala (bir yerden) ve Yap─▒┼čt─▒r (bir yere) gibi, ancak belirli taahh├╝tler i├žin.

├ľrne─čin, s─▒cak bir d├╝zeltme yapmak istiyorsan─▒z bu cherry-pick ├Âzelli─či kullanabilirsiniz .

Siz cherry-pick bir geli┼čtirme bran┼č─▒nda yap─▒n ve merge bu bir serbest b─▒rakma ┼čubesine ba─čl─▒ kal─▒n. Ayn─▒ ┼čekilde, cherry-pick bir serbest b─▒rakma dal─▒ndan ustaya bir de yap─▒n. Voila


10







Bir projedeki geli┼čtiricilerden olu┼čan bir ekiple ├žal─▒┼č─▒rken, bir├žok git dal─▒ aras─▒ndaki de─či┼čiklikleri y├Ânetmek karma┼č─▒k bir g├Ârev haline gelebilir. Bazen bir ┼čubeyi bir ba┼čkas─▒yla birle┼čtirmek istemezsiniz ve yaln─▒zca bir veya iki ├Âzel komisyon se├žmeniz gerekir. Bu i┼čleme 'kiraz toplama' denir.

Kiraz toplama konusunda harika bir makale buldum, detayl─▒ bilgi i├žin kontrol edin: https://www.previousnext.com.au/blog/intro-cherry-picking-git


10







Cherry-pick'in ne yapt─▒─č─▒n─▒ ad─▒m ad─▒m ill├╝strasyonlar haz─▒rlad─▒m ve bu resimlerin bir animasyonunu (sonuna yak─▒n) haz─▒rlad─▒m .

  1. Vi┼čne toplanmadan ├Ânce
    ( dal─▒n taahh├╝d├╝n├╝n vi┼čne toplamas─▒n─▒ yapaca─č─▒z ): L feature
    g├Âr├╝nt├╝ tan─▒m─▒n─▒ buraya girin


  1. Komutu ba┼člayarak git cherry-pick feature~2
    ( feature~2 2 nd ├Ânce taahh├╝t
    feature , yani taahh├╝t L ):
    g├Âr├╝nt├╝ tan─▒m─▒n─▒ buraya girin


  1. Komutu ( git cherry-pick feature~2 ) yapt─▒ktan sonra :
    g├Âr├╝nt├╝ tan─▒m─▒n─▒ buraya girin


Ayn─▒ animasyonlu:
g├Âr├╝nt├╝ tan─▒m─▒n─▒ buraya girin


Not:

Taahh├╝t L' , kullan─▒c─▒n─▒n bak─▒┼č a├ž─▒s─▒na g├Âre (taahh├╝t = anl─▒k g├Âr├╝nt├╝) taahh├╝d├╝n tam kopyas─▒d─▒r L .
Teknik olarak (dahili olarak), bu yeni, farkl─▒ bir i┼člemdir (├ž├╝nk├╝ L i┼čaret├ži i├žerir K , ├Ârne─čin i┼čaret├ži L' i├žerir E ).


8







E─čer taahh├╝t kimlikleri olmadan birle┼čtirmek istiyorsan─▒z, bu komutu kullanabilirsiniz.

 git cherry-pick master~2 master~0
 

Yukar─▒daki komut, ustan─▒n son ├╝├ž komisyonunu 1'den 3'e kadar birle┼čtirecek

Bunu tek bir taahh├╝t i├žin yapmak istiyorsan─▒z, sadece son se├žene─či kald─▒r─▒n.

 git cherry-pick master~2
 

Bu ┼čekilde, ustan─▒n sonundan itibaren 3. taahh├╝d├╝ birle┼čtireceksiniz.


6



─░lgili yay─▒nlar


ÔÇť+ÔÇŁ (Art─▒ i┼čareti) CSS se├žicisi ne anlama geliyor?

K─▒smen Kira ile toplama yapmay─▒ se├žtiniz

ÔÇť─░├že aktarmaÔÇŁ sonras─▒ ÔÇťstatikÔÇŁ de─či┼čtirici ne anlama geliyor?

OpenSSL kullanarak ÔÇťrastgele durumÔÇŁ yazamamak ne demektir?

Chrome Geli┼čtirici Ara├žlar─▒'ndaki bir kaynak i├žin status = canceled ne anlama gelir?

Soru i┼čareti ve nokta operat├Âr├╝ nedir? C# 6.0'da ortalama?

Chrome Geli┼čtirici Ara├žlar─▒ÔÇÖnda == $ 0 (s─▒f─▒r de─čerinin iki kat─▒ olur) ne anlama gelir?

Birli─čin as─▒l sonu, Varl─▒k ├žer├ževesinde 1: 1 ili┼čkide ne anlama gelir?

Yap─▒ ne yapar x = x || demek istiyorsun

Middleware ve app.use asl─▒nda Expressjs'de ne anlama geliyor?

Etiketle ilgili di─čer sorular [git]


Bir nesnenin JavaScript'te belirli bir ├Âzelli─či olup olmad─▒─č─▒n─▒ nas─▒l kontrol ederim?

Varchar ve nvarchar aras─▒ndaki fark nedir?

Bir de─či┼čkeni normal ifadede nas─▒l kullan─▒rs─▒n─▒z?

Birden fazla git i┼člemi nas─▒l geri al─▒n─▒r?

JSON'u bir PHP Scriptinden D├Ând├╝rmek

Malloc ve calloc aras─▒ndaki fark?

Sekmeden alana d├Ân├╝┼čt├╝rme fakt├Âr├╝ nas─▒l ├Âzelle┼čtirilir?

Temel 64 kodlamas─▒ ne i├žin kullan─▒l─▒r?

Python i┼člevinin bir istisna att─▒─č─▒n─▒ nas─▒l test edersiniz?

BehaviorSubject vs G├Âzlenebilir mi?