Kullanıcı Aletleri

Site Aletleri


tr:cs:git:flow

Farklar

Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.

Karşılaştırma görünümüne bağlantı

İki taraf da önceki sürümÖnceki sürüm
Sonraki sürüm
Önceki sürüm
tr:cs:git:flow [2026/03/07 19:58] ulascemhtr:cs:git:flow [2026/03/07 20:46] (mevcut) ulascemh
Satır 1: Satır 1:
-====== Git-Flow ======+====== UCH'Git-Flow ======
  
 Projelerimde git'in gücünü bu iş akışı ile ortaya çıkarıyorum. Projelerimde git'in gücünü bu iş akışı ile ortaya çıkarıyorum.
Satır 11: Satır 11:
 git init git init
 # 2. Main dalının oluşabilmesi için ilk (boş) commit'i at. # 2. Main dalının oluşabilmesi için ilk (boş) commit'i at.
-git commit --allow-empty -m "İlk commit: Proje başlatıldı"+git commit --allow-empty -m "<ORNEK_COMMIT_MESAJI>"
 # 3. Develop dalını oluştur ve o dala geç. # 3. Develop dalını oluştur ve o dala geç.
 git checkout -b develop git checkout -b develop
 # 4. Uzak sunucuyu (GitHub, GitLab vb.) bağla. # 4. Uzak sunucuyu (GitHub, GitLab vb.) bağla.
-git remote add origin <uzak_sunucu_url>+git remote add origin <UZAK_SUNUCU_URL>
 # 5. Her iki dalı da uzak sunucuya gönder. # 5. Her iki dalı da uzak sunucuya gönder.
-git push -u origin master+git push -u origin main
 git push -u origin develop git push -u origin develop
 </code> </code>
Satır 27: Satır 27:
 Bu iki dal projenin kalbidir ve asla silinmezler. Üzerlerinde doğrudan düzenleme yapılmaz. Bu iki dal projenin kalbidir ve asla silinmezler. Üzerlerinde doğrudan düzenleme yapılmaz.
  
-master | her zaman canlıdaki en stabil kodu temsil eder. |+main | her zaman canlıdaki en stabil kodu temsil eder. |
 ^ develop | Bir sonraki sürüm için hazırlanan en güncel geliştirme kodlarını içerir. Tüm yeni özellikler günün sonunda buraya merge edilir. | ^ develop | Bir sonraki sürüm için hazırlanan en güncel geliştirme kodlarını içerir. Tüm yeni özellikler günün sonunda buraya merge edilir. |
  
Satır 34: Satır 34:
 Yeni bir özellik veya eklenti geliştirirken kullanılır. Yeni bir özellik veya eklenti geliştirirken kullanılır.
  
-<WRAP alert>+<WRAP round important>
 ''develop'''den dallanır, günün sonunda ''develop'' dalına birleşir. ''develop'''den dallanır, günün sonunda ''develop'' dalına birleşir.
 </WRAP> </WRAP>
  
-<WRAP important> +<WRAP round important> 
-İsimlendirme Kuralı: ''feature/ozellik-adi''+İsimlendirme Kuralı: ''feature-<OZELLIK-ADI>''
 </WRAP> </WRAP>
  
 +=== Komutlar ===
  
 +Yeni özellik dalı oluşturma ve geçiş yapma;
  
-Komutlar:+<code bash> 
 +git checkout -b feature-<OZELLIK-ADI> develop 
 +</code>
  
-Yeni özellik dalı oluşturma ve geçiş yapma: +Özelliğin geliştirmesi bittikten sonra, develop dalına birleştirmek için;
- +
-git checkout -b feature/kullanici-girisi develop +
- +
- +
-(...kodlarınızı yazıncommit'lerinizi atın...) +
- +
-Özelliği bitirip develop'a birleştirme: +
-(Not: --no-ff bayrağı dalın geçmişini korur ve commit'leri tek bir düğümde toplar. Çok önemlidir!)+
  
 +<code bash>
 git checkout develop git checkout develop
-git merge --no-ff feature/kullanici-girisi+git merge --no-ff feature-<OZELLIK-ADI> 
 +</code>
  
 +<WRAP round important>
 +''--no-ff'' bayrağı dalın geçmişini korur ve commit'leri tek bir düğümde toplar. Çok önemlidir!)
 +</WRAP>
  
-Dalı silme ve güncel develop'u sunucuya gönderme:+Dalı silme ve güncel develop'u sunucuya göndermek için;
  
-git branch -d feature/kullanici-girisi+<code bash> 
 +git branch -d feature-<OZELLIK-ADI>
 git push origin develop git push origin develop
 +</code>
  
- +==== Sürüm Dalları ====
-3. Sürüm Dalları (Release Branches)+
  
 Yeni bir canlı sürüm (production release) hazırlığı için kullanılır. Yeni özellik eklenmez, sadece ufak hatalar giderilir (bugfix) ve versiyon (v1.2.0 vb.) numaraları güncellenir. Yeni bir canlı sürüm (production release) hazırlığı için kullanılır. Yeni özellik eklenmez, sadece ufak hatalar giderilir (bugfix) ve versiyon (v1.2.0 vb.) numaraları güncellenir.
  
-Nereden dallanırdevelop+<WRAP round important> 
 +''develop'''den dallanır, günün sonunda ''main'' ve ''develop'' dalına birleşir. 
 +</WRAP>
  
-Nereye birleşirmaster VE develop+<WRAP round important> 
 +İsimlendirme Kuralı''release-*''  (Örn: ''release-1.2.0''
 +</WRAP>
  
-İsimlendirme Kuralı: release-* (Örn: release/1.2.0)+=== Komutlar ===
  
-Komutlar:+== Sürüm dalı oluşturma ==
  
-Sürüm dalı oluşturma:+<code bash> 
 +git checkout -b release-<SEMANTIK-SÜRÜM-NUMARASI> develop 
 +</code>
  
-git checkout -b release/1.2.0 develop+> Projelerimde Semantik sürüm numaralandırma sistemini kullanıyorum, detay için; [[https://semver.org/lang/tr/]]
  
 +Kalan ufak hataları kapatıp verisyon numarasını güncelledikten sonra ((Genelde projelerimde çeşitli scriptlerle semantik sürümü otomatik olarak arttırıyorum.)) sürümü bitirip main'a birleştirme ve etiketlemek için;
  
-(...versiyon numaralarını güncelleyin, son ufak hataları çözün ve commit'leyin...)+<code bash> 
 +git checkout main 
 +git merge --no-ff release-<SEMANTIK-SÜRÜM-NUMARASI> 
 +git tag -a <SEMANTIK-SÜRÜM-NUMARASI> -m "Sürüm <SEMANTIK-SÜRÜM-NUMARASI> yayında" 
 +</code>
  
-Sürümü bitirip master'a birleştirme ve etiketleme (Tag): 
  
-git checkout master +Yapılan ufak hata düzeltmelerini develop'a da yansıtmak için;
-git merge --no-ff release/1.2.0 +
-git tag -a 1.2.0 -m "Sürüm 1.2.0 yayında" +
- +
- +
-Yapılan ufak hata düzeltmelerini develop'a da yansıtma:+
  
 +<code bash>
 git checkout develop git checkout develop
-git merge --no-ff release/1.2.0+git merge --no-ff release-<SEMANTIK-SÜRÜM-NUMARASI> develop 
 +</code>
  
 +Dalı silip ve tüm değişiklikleri (etiket ile birlikte) uzak sunucuya göndermek için;
  
-Dalı silme ve tüm değişiklikleri (tag ile birlikte) sunucuya gönderme: +<code bash> 
- +git branch -d release-<SEMANTIK-SÜRÜM-NUMARASI> 
-git branch -d release/1.2.0 +git push origin main
-git push origin master+
 git push origin develop git push origin develop
 git push --tags git push --tags
 +</code>
  
- +==== Acil Yama Dalları (Hotfix Branches) ====
-4. Acil Yama Dalları (Hotfix Branches)+
  
 Canlı ortamdaki (production) kritik bir hatayı çok acil çözmek gerektiğinde kullanılır. Sıradaki büyük sürümü bekleyemeyeceğiniz durumlar içindir. Canlı ortamdaki (production) kritik bir hatayı çok acil çözmek gerektiğinde kullanılır. Sıradaki büyük sürümü bekleyemeyeceğiniz durumlar içindir.
  
-Nereden dallanır: master (Hatalı olan canlı versiyondan)+<WRAP round important> 
 +''main'''den dallanır, günün sonunda ''main'' ve ''develop'' dalına birleşir. 
 +</WRAP>
  
-Nereye birleşirmaster VE develop+<WRAP round important> 
 +İsimlendirme Kuralı''hotfix-*''  (Örn: ''hotfix-1.2.1''
 +</WRAP>
  
-İsimlendirme Kuralı: hotfix-* (Örn: hotfix/1.2.1) 
  
-Komutlar:+=== Komutlar ===
  
-Acil yama dalı oluşturma:+Acil yama dalı oluşturmak için;
  
-git checkout -b hotfix/1.2.1 master+<code bash> 
 +git checkout -b hotfix-<SEMANTIK-SÜRÜM-NUMARASI> main 
 +</code>
  
 +Kritik hatayı düzeltip, versiyonu güncelledikten sonra commitleyip yamayı bitirip main'e birleştirmek için;
  
-(...kritik hatayı düzeltin, versiyonu güncelleyin ve commit'leyin...) +<code bash> 
- +git checkout main 
-Yamayı bitirip master'a birleştirme ve etiketleme (Tag): +git merge --no-ff hotfix-<SEMANTIK-SÜRÜM-NUMARASI> 
- +git tag -a <SEMANTIK-SÜRÜM-NUMARASI> -m "<ORNEK_COMMIT_MESAJI>
-git checkout master +</code>
-git merge --no-ff hotfix/1.2.1 +
-git tag -a 1.2.1 -m "Kritik hata çözümü: Sepet çökmesi düzeltildi+
  
-Yamayı develop'da yansıtma (Gelecek sürümlerde hata tekrar etmesin diye):+Gelecek sürümlerde aynı hatanın tekrar etmemesi adına yamatı develop'a yansıtmak için;
  
 +<code bash>
 git checkout develop git checkout develop
-git merge --no-ff hotfix/1.2.1+git merge --no-ff hotfix-<SEMANTIK-SÜRÜM-NUMARASI> 
 +</code>
  
 +Dalı silip ve tüm değişiklikleri (etiket ile birlikte) uzak sunucuya göndermek için;
  
-Dalı silme ve tüm değişiklikleri (tag ile birlikte) sunucuya gönderme: +<code bash> 
- +git branch -d hotfix-<SEMANTIK-SÜRÜM-NUMARASI> 
-git branch -d hotfix/1.2.1 +git push origin main
-git push origin master+
 git push origin develop git push origin develop
 git push --tags git push --tags
 +</code>
  
  
tr/cs/git/flow.1772913490.txt.gz · Son değiştirilme: 2026/03/07 19:58 Değiştiren: ulascemh