Git Flow
Bu dökümanın Burdaki dökümandan sonra yazıldığı unutulmamalı.
Git flow mekanizmasını anlamak için SourceTree tool 'unda mevcut olan gitflow eklentisi kullanıldı.
Bu dökümanı oluşturmak için atlassian , nvie dökümanlarından yararlanıldı. Daha fazla bilgi için incelemenizi öneririm.
ilk olarak mevcut depomuzu
Clone in SourceTreebutonuna tıklayarak clone ediyoruz.


- İkinci olarak SourceTree tool 'unda sağ üst tarafta bulunan gitflow eklentisini kullanarak repomuzu ilklendiriyoruz.

- localde depoları takip edersek

- Şimdi
Git Flowbutonuna tıklayarak yeni bir feature oluşturuyoruz.


- localde takip edelim

- feature üzerinde değişiklik yapıyoruz.

- Değişiklik
SourceTreetool 'u tarafından algılandı.

- Commit edilecek dosyayı seçip
Adddiyoruz.


Commitdiyerek commitliyoruz.

Git Flow'a tıklayarak mevcut feature 'ı kapatıyoruz.


- localden takip edersek

- Açtığımız feature branch 'ını finish yaptığımız zaman yaptığımız eklemeler develop dalına merge ediliyor. Bu durumda Feature branch 'ını kapattıktan sonra develop dalında push yapmamız gerekmektedir.

- Bitbucket 'a değişikliklerimiz gitmiş durumda.

- Şimdi geliştirmemizi developta tamamladık ve yeni bir versiyon çıkma zamanı geldi.
Git FlowbutonundanStart new a Releasediyoruz.

- Ve versiyon numaramızı giriyoruz.

- localden takip edersek

- Ve şimdi sadece bu release branch 'ını oluşturduktan sonra finish yaptığımız zaman develop dalındaki tüm çalışmalarımız master dalına merge olucaktır.

- Yeni versiyonumuz için minik bir açıklama ekliyoruz.

- localden takip edelim

- Ancak şuanda develop brach 'ı sadece master 'a merge olmuş durumda bunu push yapmamız gerekmektedir.

- Branch ve Tag 'lerimizin son durumu



- Kısaca amacımızı özetlemek gerekirse ana geliştirmemizi Develop dalında yapıyoruz. Ve Release edip master dalına geçirdiğimiz zaman aslında projemizin tamamen stabil olduğunu varsayıp bir versiyon tag 'i ekliyoruz. Develop dalında geliştirme yaparken ise projeyi parçalara ayırıp (veya bug, cr maddelerinin gelme durumunda) Feature brach 'ında tamamlayıp testinide yaptıktan sonra develop dalına merge işlemini yapıyoruz. Ve develop dalında geliştirdiğimiz proje mevcut özellikleri ile stabil duruma vardığında Release işlemini yapıyoruz. Master dalındaki projede bug bulunduğu zaman Hotfix branch 'ı açıp gerekli düzenlemeleri yaptıktan sonra kapatıldığında direk master 'a merge olucaktır.