Git Versiyon kontrol sistemlerinden bir tanesidir. Git Flow ise bir git eklentisidir. Git Flow sayesinde projelerinizi geliştirirken daha düzenli bir branch mantığıyla geliştirebilirsiniz. Bu makalemizin amacı Git Flow konusunda başlangıç düzeyde bilgiler vermektir. Git Flow konusunda uzmanlaşmak içinse kesinlikle tecrübe gerekir. Hatta doğru organizasyonda çok önemlidir. İşte bu noktalara da değinerek Git Flow konusunu anlatmaya çalışacağım.
Makalemin başında da söylediğim gibi Git Flow bir git eklentisidir. Yani normal Git kurulumu ile birlikte gelmez. Bunun için extradan Git flow kurulumunu yapmanız gerekir. Eğer Git flow eklentisi bilgisayarınızda kurulu değilse bu konuyu anlattığım Git Flow Kurulumu makalesine göz atabilirsiniz.
Makaleye devam etmeden önce mutlaka kurulumu yapmanızı öneririm. Çünkü dediğim gibi Git Flow konusu bu konuyu bilmekten daha çok ne kadar kullandığınızla alakalıdır.
Git Flow konusuna giriş yapabilmek için öncelikle Git Flow Projesi oluşturmakla başlayabiliriz. Normal git'te proje oluşturmak git init komutu kullanılırken Git Flow ile yeni proje oluşturmak için git flow init komutu kullanılır. Bu komutu git bash'de yazdıktan sonra size projenin başlangıcı için bir kaç ayarlarını yapmanızı isteyecektir. Bu konuyu Git Flow İle Proje Oluşturma Ve Başlangıç Ayarları makalesinde anlattığım için burada detaylı anlatmayacağım.
Ama bu makalemdeki temel amacım olan Git Flow konusunu anlatmak olduğu için Git Flow proje oluşturma ile birlikte gelen branch mantığını anlatabilmem için öncelikle sizin de proje oluşturmanız ve Git Flow tarafından kullanılan bracnh prefixlerini görmeniz çok önemlidir. Bu yüzden eğer yapmadıysanız mutlaka yukarıda linkini verdiğim makaleyi takip ederek bir Git Flow projesi oluşturun.
Git Flow konusu aslında Git Server konusundan ayıran en önemli özelliği branch mantığıdır. Bu yüzden de makalenin devamında Git Flow ile birlikte gelen branchlari anlatacağım ve bu da fikrimce Git Flow konusunu anlamanız için anahtar bilgilerdir.
Git Flow için master ve develop branchlari normal git'te olduğu gibidir. Bu anlamda git flow tarafından sunulan özellik ise bu branch isimlerini değiştirmektir. Yani git flow sayesinde develop branchiniörneğin gelistirici bracnhi olarak degistirebilirsiniz. Bu islem de baslangıç ayarları için size sorulan bilglerde saklı. Ama Git Flow'u güçlü kılan konu ise feature, support, hotfix, bugfix ve versiyon branchlarini daha düzenli hale sokmasıdır.
Örneğin projenizdeki bir sorun oldu ve master branchi de sunucularınızda çalışan haliyse o zaman oluşturmanız gerekn branch hotfix prefixi ile oluşturulmalıdır. Bu branch mantığı sadece isimlerle değil aynı zamanda branchleri oluştururken hangi branchi baz alacağı ve aynı zamanda merge işleminde hangi brancha veya branchlere merge işlemi yapılacağı konusunda da belirlenmiş ve standartlaşmış altyapı sunar.
Yukarıda bahsettiğim branch oluşturma stratejileri ise biraz tecrübeyle ve Git Flow konusunda uzmanlaşmakla alakalı konular olduğu için bunu biraz zaman bırakın ve feature branchleri oluşturarak başlayın. Zamanla Git Flow konusunda uzmanlaştıkça bu branch mantığının effektif çalışmak için ne kadar yararlı olduğunu siz de göreceksiniz.
Bu kadar anlatım tabi ki sadece Git Flow konusunda başlangıç bilgileri verebilmek içindir. Bunun dışında yeni bir dünyaya açıldınız diyebilirim. Asıl konular buradan sonra başlıyor diyebilirim. Örneğin yeni feature branchi oluşturma ve bu branchi sonlandırma stratejileri.
Git Flow bbu konularda da yardımcı olur ve branchleri sonlandırma aşamasında otomatik merge işlemlerini yapar. Şimdilik bu konularla konuyu daşıtmadan makalemi sonlandırmak istiyorum.
Bu konuyla ilgili makalelerin linklerini takip ederek konuyla alakalı kendinizi geliştirebilirsiniz.
Umarım yazım faydalı olmuştur. Konuyla alakalı sorularınız olursa sormaktan çekinmeyin. En kısa sürede yanıtlamaya çalışacağım.
Makalemin başında da söylediğim gibi Git Flow bir git eklentisidir. Yani normal Git kurulumu ile birlikte gelmez. Bunun için extradan Git flow kurulumunu yapmanız gerekir. Eğer Git flow eklentisi bilgisayarınızda kurulu değilse bu konuyu anlattığım Git Flow Kurulumu makalesine göz atabilirsiniz.
Makaleye devam etmeden önce mutlaka kurulumu yapmanızı öneririm. Çünkü dediğim gibi Git Flow konusu bu konuyu bilmekten daha çok ne kadar kullandığınızla alakalıdır.
Git Flow konusuna giriş yapabilmek için öncelikle Git Flow Projesi oluşturmakla başlayabiliriz. Normal git'te proje oluşturmak git init komutu kullanılırken Git Flow ile yeni proje oluşturmak için git flow init komutu kullanılır. Bu komutu git bash'de yazdıktan sonra size projenin başlangıcı için bir kaç ayarlarını yapmanızı isteyecektir. Bu konuyu Git Flow İle Proje Oluşturma Ve Başlangıç Ayarları makalesinde anlattığım için burada detaylı anlatmayacağım.
Ama bu makalemdeki temel amacım olan Git Flow konusunu anlatmak olduğu için Git Flow proje oluşturma ile birlikte gelen branch mantığını anlatabilmem için öncelikle sizin de proje oluşturmanız ve Git Flow tarafından kullanılan bracnh prefixlerini görmeniz çok önemlidir. Bu yüzden eğer yapmadıysanız mutlaka yukarıda linkini verdiğim makaleyi takip ederek bir Git Flow projesi oluşturun.
Git Flow konusu aslında Git Server konusundan ayıran en önemli özelliği branch mantığıdır. Bu yüzden de makalenin devamında Git Flow ile birlikte gelen branchlari anlatacağım ve bu da fikrimce Git Flow konusunu anlamanız için anahtar bilgilerdir.
Git Flow için master ve develop branchlari normal git'te olduğu gibidir. Bu anlamda git flow tarafından sunulan özellik ise bu branch isimlerini değiştirmektir. Yani git flow sayesinde develop branchiniörneğin gelistirici bracnhi olarak degistirebilirsiniz. Bu islem de baslangıç ayarları için size sorulan bilglerde saklı. Ama Git Flow'u güçlü kılan konu ise feature, support, hotfix, bugfix ve versiyon branchlarini daha düzenli hale sokmasıdır.
Örneğin projenizdeki bir sorun oldu ve master branchi de sunucularınızda çalışan haliyse o zaman oluşturmanız gerekn branch hotfix prefixi ile oluşturulmalıdır. Bu branch mantığı sadece isimlerle değil aynı zamanda branchleri oluştururken hangi branchi baz alacağı ve aynı zamanda merge işleminde hangi brancha veya branchlere merge işlemi yapılacağı konusunda da belirlenmiş ve standartlaşmış altyapı sunar.
Yukarıda bahsettiğim branch oluşturma stratejileri ise biraz tecrübeyle ve Git Flow konusunda uzmanlaşmakla alakalı konular olduğu için bunu biraz zaman bırakın ve feature branchleri oluşturarak başlayın. Zamanla Git Flow konusunda uzmanlaştıkça bu branch mantığının effektif çalışmak için ne kadar yararlı olduğunu siz de göreceksiniz.
Bu kadar anlatım tabi ki sadece Git Flow konusunda başlangıç bilgileri verebilmek içindir. Bunun dışında yeni bir dünyaya açıldınız diyebilirim. Asıl konular buradan sonra başlıyor diyebilirim. Örneğin yeni feature branchi oluşturma ve bu branchi sonlandırma stratejileri.
Git Flow bbu konularda da yardımcı olur ve branchleri sonlandırma aşamasında otomatik merge işlemlerini yapar. Şimdilik bu konularla konuyu daşıtmadan makalemi sonlandırmak istiyorum.
Bu konuyla ilgili makalelerin linklerini takip ederek konuyla alakalı kendinizi geliştirebilirsiniz.
Umarım yazım faydalı olmuştur. Konuyla alakalı sorularınız olursa sormaktan çekinmeyin. En kısa sürede yanıtlamaya çalışacağım.
Yorumlar
Yorum Gönder