Git Branch'leri nasıl kullanılır?

0 Hisse senetleri
0
0
0
0

giriiş

Bu makale, "Git Kullanımı" serisinin üçüncüsüdür. Hem kurulum makalesini hem de Git'i Etkili Bir Şekilde Nasıl Kullanırsınız makalesini okuduğunuzu varsayar.

Sürüm kontrol sistemleri dünyasında, GIT esneklik açısından tartışmasız en iyilerden biridir. Sözdizimini öğrenmek ve Git'in iş akışınıza ve ortamınıza en iyi şekilde nasıl hizmet edebileceğini anlamak çok kolaydır.

Bu eğitim size iki dalın (ana ve geliştirme) nasıl oluşturulacağını ve geliştirmeden üretime nasıl kod birleştirileceğini öğretecektir.

Bir dal, özünde, benzersiz bir ada sahip benzersiz bir kod değişiklikleri dizisidir. Her deponun bir veya daha fazla dalı olabilir.

Varsayılan olarak ilk dal “master” olarak adlandırılır.

Şubeleri Görüntüle

Yeni şubeler oluşturmadan önce, mevcut tüm şubeleri görmek istiyoruz. Aşağıdakileri yazarak mevcut tüm şubeleri görüntüleyebiliriz:

git branch -a

Komutun sonuna “-a” eklemek GIT'e, yerel çalışma alanımızda olmayanlar da dahil olmak üzere tüm kullanılabilir dalları görmek istediğimizi söyler.

Çıktı aşağıdakine benzer olacaktır:

* master remotes/origin/master

Çıktının ilk satırındaki "master" ifadesinin yanındaki yıldız işareti, şu anda o dalda olduğumuzu gösterir. İkinci satır ise, uzak sunucumuzda origin adında tek bir dal olduğunu ve aynı zamanda master olarak da adlandırıldığını gösterir.

Artık dalları nasıl görüntüleyeceğimizi öğrendiğimize göre, ilk dalımızı oluşturmanın zamanı geldi.

Şubeler Oluşturma

Bu makalenin başında da belirttiğimiz gibi kodlama ortamımız için bir geliştirme ve üretim kurulumuna sahip olmak istiyoruz.

Varsayılan "master" dalını üretim dalı olarak ele almak istiyoruz ve bu nedenle geliştirme veya ön üretim için tek bir dal oluşturmamız gerekiyor.

develop adında yeni bir dal oluşturmak için aşağıdakileri yazın:

git checkout -b develop

Henüz "development" adında bir dalımız olmadığını varsayarsak, çıktı şu şekilde olacaktır:

Switched to a new branch 'develop'

Eğer bu isimde bir dal zaten mevcutsa GIT bize şunu söyler:

fatal: A branch named 'develop' already exists.

Git checkout komutunu kullanarak iki dalınız arasında ileri geri hareket edebilirsiniz:

git checkout master

Veya

git checkout develop

Geçiş yapmak istediğiniz bir dal olduğunu varsayarsak, aşağıdakine benzer bir çıktı göreceksiniz:

Switched to branch 'master'

Varolmayan bir dala geçmeyi denerseniz, örneğin

git checkout nosuchbranch

Git size şunu söylüyor:

error: pathspec 'nosuchbranch' did not match any file(s) known to git.

Artık birden fazla şubemiz olduğuna göre, bunları iyi kullanmamız gerekiyor. Senaryomuzda, değişikliklerimizi test etmek için "geliştirme" şubemizi, bunları herkese açık hale getirmek içinse ana şubemizi kullanıyoruz.

Bu işlemi göstermek için geliştirme dalımıza geri dönmemiz gerekiyor:

git checkout develop

Geliştirme şubemizde değişiklikler yapıyoruz

Bu dalda "develop" adında yeni bir boş dosya oluşturuyoruz. Bu dosya, ana dalla birleştirene kadar (bir sonraki adımda) orada var olmayacak.

touch develop

Önceki eğitimde olduğu gibi git'e bu yeni dosyayı takip etmek istediğimizi söylememiz gerekiyor.

"develop" dosyasını şu şekilde yazarak ekleyebiliriz:

git add develop

Yukarıdaki komut seti “develop” adında boş bir dosya oluşturur ve bunu GIT’e ekler.

Ayrıca bu dosyayı commit etmemiz gerekiyor, bu da bu dosyayı şu anda bulunduğumuz "development" şubesine ekleyecektir.

git commit -m "develop file" develop

Bu dosya artık geliştirme dalında mevcut. Öğreneceğimiz gibi, ana dalda mevcut değil.

Öncelikle, şu anda geliştirme aşamasında olduğumuzu doğrulamak istiyoruz. Bunu şu komutu yazarak yapabiliriz:

git branch

Çıktı aşağıdaki şekle benzer olmalıdır:

* develop master

Zaten dal adının yanındaki yıldızın o dalda olduğumuzu gösterdiğini anlamıştık.

“ls” komutunu çalıştırdığımızda bu iki dosyanın var olduğu görülür:

ls

Çıktı bize her iki dosyamızın da sırasıyla "file" ve "develop" adlarıyla bulunduğunu gösteriyor:

develop file

Dallar arasında kodu birleştir

İlginç olan kısım, orijinal şubemize geri döndüğümüzde gerçekleşir; bunu git checkout komutuyla yapabiliriz:

git checkout master

Ana dalda olduğumuzdan emin olmak için aşağıdakileri yazabiliriz:

git branch

Çıktı bize hangi dalda olduğumuzu söyler, yıldız işaretiyle gösterilir.

develop * master

“ls” komutunu tekrar çalıştırdığımızda yeni dosyamızın eksik olduğu görülüyor.

file

Kaybolmadı, hem geliştirme şubemizde hem de ana şubemizde.

Senaryomuzda bu dosya, geliştirme şubemizdeki tüm testlerden geçmiş ve üretime hazır olan herhangi bir dosyadaki (veya tamamen yeni bir dosyadaki) değişiklikleri temsil eder. Kodu şubeler arasında (genellikle geliştirmeden üretime) taşıma işlemine birleştirme denir.

Birleştirme yaparken, birleşmek istediğimiz dalda olmamız gerektiğini unutmamak önemlidir.

Bu durumda “develop” dosyasının bulunduğu development dalımızdan master dalımıza birleştirmek istiyoruz.

Bunu aklımızda tutarak, şu anda master dalında olduğumuz için yapmamız gereken tek şey merge komutunu çalıştırmaktır.

Birleştirme komutuna verebileceğimiz seçeneklerden biri olan "–no-ff", git'in birleştirmeden önce tüm commit mesajlarını saklamasını istediğimiz anlamına gelir. Bu, gelecekteki değişiklikleri takip etmeyi kolaylaştırır.

Geliştirme dalındaki değişiklikleri ana dala birleştirmek için aşağıdakileri yazın:

git merge develop --no-ff

Komutun çıktısı aşağıdakine benzer olacaktır:

Merge made by the 'recursive' strategy. 0 files changed create mode 100644 develop

ls komutunu tekrar çalıştırdığımızda "develop" dosyamızın artık ana dalımızda olduğunu doğrularız.

develop file

Şimdi yapmamız gereken son şey, uzak sunucuda bu değişikliği yapmak için değişiklikleri push etmektir; bunu da git push komutu yardımıyla yapabiliriz.

git push

Geliştirme dalınızdan uzak sunucunuzdaki ana dala birleştirme yaptığınızı onaylayan aşağıdakine benzer bir çıktı göreceksiniz:

Counting objects: 4, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 332 bytes, done. Total 3 (delta 1), reused 0 (delta 0) To ssh://[email protected]/repository 9af2dcb..53649cf master -> master

Sonuç

Yukarıdaki eğitimi takip ederek, iki dallı bir iş akışı kurulumuna sahip olmalı ve umarız GIT'te dallanmanın nasıl çalıştığına dair iyi bir anlayışa sahip olmalısınız. Düşüncelerinizi yorumlarda bizimle paylaşın!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Şunları da Beğenebilirsiniz