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.
Aşağıda git flow için komut şablonu gösterilmektedir.
Daha detaylı bilgi için git-flow cheatsheet adrsini ziyaret edebilirsiniz.