Git: Şubeyi Master ile Birleştir

Hızlı Cevap – Şubeyi Master ile Birleştir

Hızlı bir cevap arıyorsanız, bir dalı birleştirmek için master şube – sen checkout master ve merge some_branch:

$ git checkout new-branch
# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

Sen her zaman checkout Birleşeceğiniz şube ve merge zaten değişiklikleri olan bir şube.

Git ile Şube Birleşmesini Anlamak

Git'te daha yeniyseniz, bu komutları ve nasıl çalıştıklarını anlamak için birkaç dakikanızı ayırmanız faydalı olacaktır. Şaşırtıcı derecede basittir ve sizi uzun bir yola götürecektir.

Not: 2020'de Git (GitHub, GitLab vb. gibi büyük veri havuzu barındırma platformlarının yanı sıra) resmi terminolojide bir değişiklik benimsedi ve varsayılan şube adı şu şekilde değiştirildi: mainKelimenin olumsuz çağrışımlarından dolayı master gerektirebilir. Pek çok proje ana dallarını taşımadı veya yeniden adlandırmadı; dolayısıyla öngörülebilir gelecekte - şartlar master ve main muhtemelen birbirinin yerine kullanılacaktır.

Git'in en güçlü özelliklerinden biri, kod tabanındaki dalları ve değişiklikleri kolayca oluşturup birleştirme yeteneğidir.

Git'in dağıtılmış yapısı, kullanıcıları sık sık yeni şubeler oluşturmaya ve geliştirme sürecinin bir parçası olarak bunları düzenli olarak birleştirmeye teşvik eder ve bazı Git iş akışları bundan geniş ölçüde yararlanır.

Bu, sıkı bir meslektaş incelemesine tabi olan daha küçük, daha odaklı, ayrıntılı taahhütleri teşvik ederek çoğu projenin geliştirme iş akışını temel olarak geliştirir.

Mirasta Versiyon kontrol sistemleri (CVS gibi) birleştirmenin zorluğu onu ileri düzey kullanıcılarla sınırladı. Diğer modern fakat merkezi versiyon kontrol sistemleri gibi Yıkılma taahhütlerin merkezi bir depoya yapılmasını gerektirir, bu nedenle yerel dallanma ve birleştirme ile hızlı bir iş akışı alışılmadık bir durumdur.

Git'te yaygın olarak kullanılan bir dallanma iş akışı, her yeni özellik, hata düzeltmesi veya geliştirme için yeni bir kod dalı oluşturmaktır.

Bunlara denir Özellik Dalları.

Her dal, belirli bir özellikle ilgili taahhütleri bölümlere ayırır. Yeni özellik tamamlandığında - yani özellik dalında bir dizi değişiklik gerçekleştirildikten sonra - ana dalla (veya kullanılan iş akışına bağlı olarak diğer ana kod satırı dalıyla) yeniden birleştirilmeye hazırdır.

Not: Özellik dallanması bir tek dallanma iş akışını kullanabilirsiniz, ancak bu yaygın olarak benimsenen bir iş akışıdır ve Git'in birleştirme işlevlerinin basitliğiyle etkinleştirilir.

Git ile Dalları Başka Bir Dalla Birleştirin

The git branch komutu bir depodaki tüm mevcut dalları listelemek için kullanılır. Şu anda aktif olan şubenin yanında bir yıldız işareti görünecektir:

$ git branch
* master

Yeni bir şube oluşturmak için şunu kullanabiliriz: git branch new-branch emretmek. Bu, şu anda aktif olan daldaki taahhütleri yansıtan yeni bir dal yaratacaktır:

$ git branch new-branch
$ git branch
* master
new-branch

Not: Git'in sahne arkası değil aslında yeni şubeyi temsil etmek için yeni bir dizi taahhüt oluşturun. Dal bir etiket gibidir ve taahhütler Paylaşılan. Sen dallanma ana daldan yeni bir dizi değişiklik. Bir özellik dalı tamamlanıp ana dalla birleştirildiğinde, siz yeni bir özellik dalını ana dalla birleştirene kadar, içindeki değişiklikler ana dal haline gelir.

Bu noktada yeni bir dal oluşturduk ancak hâlâ kaynak dalda bulunuyoruz. Yeni dal üzerinde çalışmaya başlamak için öncelikle şu komutu çalıştırmamız gerekiyor: git checkout new-branch. Bu, aktif şubeyi yeni şubeye değiştirecektir:

$ git checkout new-branch
Switched to branch ‘new-branch'
$ git branch
master
* new-branch

Bu noktada yeni özelliğin hayata geçirilmesi için yeni şube üzerinde taahhütlerde bulunulabilir. Özellik tamamlandığında dal, ana kod dalıyla birleştirilebilir.

İlk önce koşuyoruz git checkout master aktif dalı tekrar değiştirmek için master dal. Daha sonra komutu çalıştırıyoruz git merge new-branch için yeni özelliği ana özellikte birleştirin dalı.

Not: git merge Belirtilen dalı şu anda etkin olan dalla birleştirir. Yani bulunduğumuz dalda olmamız gerekiyor birleşmek.

Yeni bir özelliği ana dalda birleştiriyorsanız, önce ana dala geçmek, sonra da onunla birleşmek istersiniz:

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

En iyi uygulamalar, endüstri tarafından kabul edilen standartlar ve dahil edilen hile sayfası ile Git'i öğrenmek için uygulamalı, pratik kılavuzumuza göz atın. Googling Git komutlarını durdurun ve aslında öğrenmek o!

Her şey yolunda giderse işimiz bitmiş demektir. Yeni özellik taahhütleri artık ana dalda görünüyor. Ancak kaynak daldaki bir çakışma değişikliği nedeniyle Git'in birleştirmeyi tamamlayamaması mümkündür. Buna bir denir birleştirme çatışması.

Özetlemek gerekirse, yeni bir dal oluşturmak, bazı taahhütler yapmak ve onu tekrar ana programla birleştirmek için gereken komutlar şunlardır:

$ git checkout master
$ git branch new-branch
$ git checkout new-branch

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
$ git merge new-branch

Yazar Hakkında

Bu makale, kod aracılığıyla başkalarının hayatlarını iyileştirmelerine yardımcı olma tutkusuna sahip bir yazılım danışmanı ve geliştiricisi olan Jacob Stopak tarafından yazılmıştır. Yakup'un yaratıcısı İlk Taahhüt – meraklı geliştiricilerin en sevdikleri programların nasıl kodlandığını öğrenmelerine yardımcı olmaya adanmış bir site. Öne çıkan projesi insanlara yardımcı oluyor Git'i öğren kod düzeyinde.

Zaman Damgası:

Den fazla Yığın kötüye kullanımı