Hamit YAY

Blog Journey...

Git Flow

Git flow, git deki yeni bir branch oluşturma işlemlerini bir standart haline getirmiş, uygulama geliştirme aşamasında büyük kolaylık sağlayan git tabanlı bir araçtır. Git tabanlı olması git deki komutların aynen kullanılabilmesini sağlar.

Git flowu kurmak için

apt-get install git-flow

komutunu (linux için) terminal üzerinde çalıştırmak gerekir.

Git flowu bir projede kullanabilmek için başalangıçta

git flow init

komutu kullanılır.

Git flowda standartlaştırılmış 5 adet branch mevcut. Bunlar;

  • Master ana branch.

  • Develop uygulama geliştirme branchi.

  • Feature uygulamaya yeni bir özellik eklemek için branch. Her bir yeni özellikiçin yeni bir feature branch oluşturmak ve bitirmek gerekiyor. nasıl yapıldığına birazdan değineceğiz.

  • Hotfix uygulamadaki ataları gidermek için branch.

  • Release uygulamayı yayınlamak için branch.

Yeni bir feature (özellik) oluşturmak için

git flow feature start myfeature

komutu kullanılır. Bu komut uygulamaya yeni bir özellik eklemek için develop brachini temel alan myfeature isimli feature branch ouşturur.

Bir feature tamamlamak için

git flow feature finish myfeature

komutu kullanır. Bu komut kullanılan branchi develop olarak değiştirir. Eklenmiiş olan özellikleri develop branchi ile birleştirir.(merge) Oluşturulmuş olan myfeature feature branchini siler

Bir feature yayınlamak için

git flow feature publish myfeature

komutu kullanılır. Bir ekip olarak çalışılıyorsa ekipdeki diğerleri bu feature a ulaşabilirler.

Yayınlanmış bir feature ı almak için

git flow feature pull myfeature

komutu kullanılır.

Bir uygulamayı yayımlamak için (release)

git flow release start 0.1.0

örnek komutu kullanılır. Bu kumut yeni bir release branch oluşturur.

Yayımlanmış bir release i yayınlamak için

git flow release publish 0.1.0

komutu kullanılır. Bu komut öncesinde local olarak yapılan release barnchi ile beraber yayınlamayı sağlar.

Bir uygulamanın yayımlanmasını bitirmek için

git flow release finish 0.1.0

komutu kullaılır. Bu komut release barnchini master branchine birleştirir. Arka planda develop barnchi ile de birleştirir. Yayınlama için açılmış olan 0.1.0 release branch silinir.

Yeni bir hata düzeltme branchi oluşturmak için

git flow hotfix start version

komutu kullanılır. Yeni bir hotfix branch oluşturur.

Hata düzeltme branchini bitirmek için

git flow hotfix finish version

komutu kullanılır. Bu komut oluşturulmuş olan hotfix branchini develop ve master branchleri ile birleştirir. Hotfix branchi silinir.

Aşağıdaki resimde çeşitli git flow işlemleri gösterilmektedir.

gitflow chart

Aşağıda git flow için komut şablonu gösterilmektedir.

gitflow command chart

Daha detaylı bilgi için git-flow cheatsheet adrsini ziyaret edebilirsiniz.