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 20:20] 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 39: Satır 39:
  
 <WRAP round important> <WRAP round important>
-İsimlendirme Kuralı: ''feature/ozellik-adi''+İsimlendirme Kuralı: ''feature-<OZELLIK-ADI>''
 </WRAP> </WRAP>
  
Satır 47: Satır 47:
  
 <code bash> <code bash>
-git checkout -b feature/ornek-ozellik develop+git checkout -b feature-<OZELLIK-ADI> develop
 </code> </code>
  
Satır 54: Satır 54:
 <code bash> <code bash>
 git checkout develop git checkout develop
-git merge --no-ff feature/ornek-ozellik+git merge --no-ff feature-<OZELLIK-ADI>
 </code> </code>
  
Satır 64: Satır 64:
  
 <code bash> <code bash>
-git branch -d feature/kullanici-girisi+git branch -d feature-<OZELLIK-ADI>
 git push origin develop git push origin develop
 </code> </code>
Satır 77: Satır 77:
  
 <WRAP round important> <WRAP round important>
-İsimlendirme Kuralı: ''release-*''  (Örn: release/1.2.0)+İsimlendirme Kuralı: ''release-*''  (Örn: ''release-1.2.0'')
 </WRAP> </WRAP>
  
Satır 85: Satır 85:
  
 <code bash> <code bash>
-git checkout -b release/<semantik_sürüm_numarası> develop+git checkout -b release-<SEMANTIK-SÜRÜM-NUMARASI> develop
 </code> </code>
  
-> Semantik sürüm numaralandırma sistemi için; [[https://semver.org/lang/tr/]]+Projelerimde Semantik sürüm numaralandırma sistemini kullanıyorum, detay için; [[https://semver.org/lang/tr/]]
  
-(...versiyon numaralarını güncelleyin, son ufak hataları çözün ve commit'leyin...)+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;
  
-Sürümü bitirip master'birleştirme ve etiketleme (Tag):+<code bash> 
 +git checkout main 
 +git merge --no-ff release-<SEMANTIK-SÜRÜM-NUMARASI> 
 +git tag -<SEMANTIK-SÜRÜM-NUMARASI> -m "Sürüm <SEMANTIK-SÜRÜM-NUMARASI> yayında" 
 +</code>
  
-git checkout master 
-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ıtmak için;
  
-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"+
  
 +Gelecek sürümlerde aynı hatanın tekrar etmemesi adına yamatı develop'a yansıtmak için;
  
-Yamayı develop'a da yansıtma (Gelecek sürümlerde hata tekrar etmesin diye): +<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.1772914856.txt.gz · Son değiştirilme: 2026/03/07 20:20 Değiştiren: ulascemh