Değişikliklerinizi dallanma ve birleştirme

Tamamlandı

Bicep kodu üzerinde çalışırken, aynı anda birden fazla şey yapmanız gerekir. Örneğin, oyuncak şirketinizin web sitesiyle çalışmaya yönelik iki senaryo aşağıda verilmiştir:

  • Web sitenizin geliştirme ekibi, Bicep dosyalarını önemli değişikliklerle güncelleştirme konusunda yardımınızı istiyor. Ancak ekip, bu değişikliklerin henüz canlı yayınlanmasını istemiyor. Yeni sürümdeki çalışmayla paralel olarak web sitesinin geçerli canlı sürümünde küçük ayarlamalar yapabilmeniz gerekir.
  • Web sitesinin performansını artırmaya yardımcı olacağını düşündüğünüz deneysel değişiklikler üzerinde çalışıyorsunuz. Ancak, bu değişiklikler başlangıç niteliğindedir. Hazır olana kadar bunları web sitesinin canlı sürümüne uygulamak istemezsiniz.

Bu ünitede Git dalları hakkında bilgi edinirsiniz.

Dekont

Bu ünitedeki komutlar kavramları göstermek için gösterilir. Komutları henüz çalıştırmayın. Burada öğrendiklerini yakında öğreneceksin.

Dallar nedir?

Dal, dosyalarınızın birden çok etkin kopyasına sahip olmak için bir yol sağlar. İstediğiniz zaman dal oluşturabilir ve dallar arasında geçiş yapabilirsiniz. Bir dalla çalışmayı bitirdiğinizde, bunu başka bir dalla birleştirebilirsiniz. İsterseniz silebilirsiniz ve bu da tüm değişiklikleri kaldırır.

Tüm çalışmalarınız için dalları kullanmak yaygın bir durum. Genellikle bir dalı, dosyalarınızın bilinen iyi veya canlı sürümünü temsil eden birincil dal olarak belirleyebilirsiniz. Kural gereği, bu dal genellikle main olarak adlandırılır. İstediğiniz sayıda başka dal oluşturabilirsiniz. Bir daldaki değişiklikleriniz hazır olduğunda, dalı ana dalla birleştirirsiniz.

Dal oluşturma ve kullanıma alma

Git'te dal oluşturmak hızlı ve kolaydır. Bunu yapmanın birkaç yolu vardır, ancak bunun en kolay yolu genellikle komutunu kullanmaktır git checkout . Aşağıda my-experimental-changes adlı yeni bir dal oluşturma örneği verilmiştir:

git checkout -b my-experimental-changes

Bu komut aslında iki şey yapar: my-experimental-changes dalını oluşturur ve yeni oluşturulan dalı kullanıma alır. Kullanıma alma, klasörünüzde gördüğünüz dosyaların kopyasının daldakileri yansıtacağı anlamına gelir. Farklı değişiklik kümelerine sahip iki dalınız varsa, bir dalı kullanıma almak ve diğeri iki değişiklik kümesi arasında geçiş yapmanızı sağlar.

Komutunu kullanarak da var olan bir dala git checkout geçebilirsiniz. Bu örnekte, ana dalı kullanıma alasınız:

git checkout main

Dekont

Normalde farklı bir dalı kullanıma almadan önce değişikliklerinizi işlemeniz gerekir. Kullanıma alamıyorsanız Git sizi uyarır.

Dal üzerinde çalışma

Bir dala geçtikten sonra dosyaları normal şekilde işlersiniz. Aslında, şimdiye kadar yaptığınız her şey bir dalda yapıldı. Yeni bir depo oluşturduğunuzda varsayılan dal olan ana dal üzerinde çalışıyordunuz.

Bir dalı kullanıma alırken bazı değişiklikler gerçekleştirdiğinizde, işleme dalla ilişkilendirilir. Farklı bir dala geçtiğinizde, büyük olasılıkla dalı birleştirene kadar işlemeyi git log geçmişte görmezsiniz.

Dalları birleştirme

Dallar, devam eden çalışmanızı Bicep kodunuzun geçerli canlı sürümünden ayırmanın harika bir yoludur. Ancak, bir daldaki dosyalarınızda değişiklik yapmayı bitirdikten sonra, genellikle değişiklikleri ana dalınızla birleştirmek istersiniz.

Bir dal üzerinde çalışırken komutunu kullanarak başka bir dalın değişikliklerini geçerli dalınızla git merge birleştirebilirsiniz.

Dekont

Birleştirmeden önce birleştirme hedef dalını (genellikle hedef dal olarak adlandırılır) gözden geçirmeyi unutmayın. Başka bir daldan geçerli çalışma dalınızlabirleştirdiğiniz unutmayın.

Burada, ana dalı kullanıma alıp my-experimental-changes dalındaki değişiklikleri ana dala nasıl birleştirebileceğinizi gösteren bir örnek verilmiştir. Son olarak, artık ihtiyacınız kalmadığından my-experimental-changes dalını silebilirsiniz.

git checkout main
git merge my-experimental-changes
git branch -d my-experimental-changes

Bahşiş

Diğer kişilerle çalışırken, doğrudan dalları birleştirmek yerine değişikliklerinizi birleştirmek için çekme isteklerini kullanmak yaygın bir durum olur. İşbirliği ve çekme istekleri hakkında kısa süre sonra daha fazla bilgi edineceksiniz.

Birleştirme çakışmaları

Git değişiklikleri bir daldan diğerine birleştirdiğinde, değiştirilen dosyalara bakar ve değişiklikleri birleştirmeye çalışır. Bazen, iki farklı dalda aynı kod satırlarında değişiklik yapmış olabilirsiniz. Bu gibi durumlarda Git, kodun doğru sürümünü seçemez ve bunun yerine birleştirme çakışması oluşturur.

Bu modülde birleştirme çakışmalarını ayrıntılı olarak tartışmıyoruz, ancak birleştirme çakışmalarının gerçekleşebileceğini bilmeniz önemlidir. Ve diğer kişilerle işbirliği yaptığınızda daha yaygındır. Bu modülün özetinde Git ve Visual Studio Code'un birleştirme çakışmalarını çözmenize nasıl yardımcı olduğu hakkında daha fazla bilgi için bir bağlantı sağlıyoruz.

Git iş akışları

Bu modülde yalnızca dalların temelleri hakkında bilgi edineceksiniz. Ancak dallar güçlüdür ve çalışma şeklinizde size esneklik sağlar. Örneğin, diğer dalların dışında dallar oluşturabilir ve bir dalı diğer dallarla birleştirebilirsiniz. Dalları kullanarak sizin ve ekibinizin çalışma şeklini destekleyen her türlü farklı iş akışı oluşturabilirsiniz.

Bu modülde gövde tabanlı geliştirme adlı basit bir iş akışı kullanıyoruz. Bu iş akışında tek bir gövde dalınız vardır. Örneğin, bu makalenin örneklerinde main kullanırız. Bu dal kodunuzun bilinen iyi sürümünü temsil eder. Değişiklik yaptığınızda veya herhangi bir iş yaptığınızda bu gövdeden dallar oluşturursunuz.

Gövde tabanlı geliştirme, doğrudan gövde dalında değişiklik yapmayı önerilmez. Diğer dalları yalnızca kısa bir süre boyunca tutmaya çalışırsınız ve bu da birleştirme çakışmalarını en aza indirmeye yardımcı olur. Ardından, iş parçalarını tamamladığınızda bu dalları birleştirir ve silersiniz.

Ekip ortamlarında sık kullanılan ve değişikliklerinizi ne sıklıkta yayımlayabileceğinizi denetlemek isteyebileceğiniz başka iş akışları da vardır. Bu modülün özetinde Git iş akışları hakkında daha fazla bilgi için bağlantılar sağlıyoruz.