DEV Community

Kadir Belkuyu
Kadir Belkuyu

Posted on

Conventional Commits

Conventional Commits Rehberi

Bu rehber, https://www.conventionalcommits.org/en/v1.0.0/ adresi referans alınarak hazırlanmıştır.

Temel Yapı

Her commit mesajı şu formata uygun olmalıdır:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]
Enter fullscreen mode Exit fullscreen mode

Bileşenler

  • type: Yaptığınız değişikliğin türünü belirtir.
  • scope (opsiyonel): Değişikliğin hangi bölümünü etkilediğini belirtir.
  • description: Değişikliğin kısa ve öz açıklaması.
  • body (opsiyonel): Daha detaylı açıklama yapılabilir.
  • footer (opsiyonel): Ek bilgiler veya referanslar içerir.

Type (Tür)

Kullanabileceğiniz commit türleri şöyledir:

Type Açıklama
feat Yeni bir özellik eklendi
fix Bir hata düzeltildi
docs Dokümantasyon güncellendi
style Kod formatı veya stil değişiklikleri (işlevsel olmayan)
refactor Kod yeniden düzenlendi, işlev değişmedi
test Testler eklendi veya güncellendi
chore Yapılandırma/bakım gibi diğer değişiklikler

Scope (Opsiyonel)

Scope, değişikliğin hangi alanı etkilediğini belirtir. Örnekler:

  • feat(login)
  • fix(database)
  • docs(readme)
  • style(css)

Scope tamamen isteğe bağlıdır ancak büyük projelerde anlaşılabilirlik sağlar.


Description

Description, commit mesajının en kritik kısmıdır.
Kısa, öz ve eylem odaklı olmalıdır.

Örnek:

feat(auth): kullanıcı girişi özelliği eklendi
Enter fullscreen mode Exit fullscreen mode

Body (Opsiyonel)

Body kısmı, değişiklik hakkında daha fazla detay vermek için kullanılır.

Örnek:

feat(api): ürün listeleme endpointi güncellendi

Yeni filtreleme parametreleri eklendi:
- category
- price_range
Enter fullscreen mode Exit fullscreen mode

Footer (Opsiyonel)

Footer genellikle şu amaçlarla kullanılır:

1. Breaking Changes

Önceki sürümlerle uyumsuz değişiklikler:

BREAKING CHANGE: auth token yapısı tamamen yenilendi
Enter fullscreen mode Exit fullscreen mode

2. Issue Referansları

Closes #123
Enter fullscreen mode Exit fullscreen mode

Örnek Commit Mesajları

feat(login): kullanıcı adı ve şifre ile giriş imkanı eklendi
Enter fullscreen mode Exit fullscreen mode
fix(database): veritabanı bağlantı hatası düzeltildi
Enter fullscreen mode Exit fullscreen mode
docs(readme): kurulum talimatları eklendi
Enter fullscreen mode Exit fullscreen mode
style(css): stiller yeniden düzenlendi
Enter fullscreen mode Exit fullscreen mode
refactor(api): kod daha modüler hale getirildi
Enter fullscreen mode Exit fullscreen mode
test(unit): yeni birim testleri eklendi
Enter fullscreen mode Exit fullscreen mode
chore(deps): bağımlılıklar güncellendi
Enter fullscreen mode Exit fullscreen mode

Silme ve Ekleme İşlemleri

Silme veya ekleme işlemleri yine type üzerinden ifade edilir.

  • Ekleme:
  feat(feature): yeni özellik eklendi
Enter fullscreen mode Exit fullscreen mode
  • Silme/fix:
  fix(bug): hatalı kod kaldırıldı
Enter fullscreen mode Exit fullscreen mode

Commit Mesajlarının İngilizce Olması

Mesajlar Türkçe olabilir ancak uluslararası projelerde İngilizce kullanılmalıdır.
Bu standart, ekipler ve open-source projelerde iletişimi kolaylaştırır.


Daha Fazla Bilgi

Detaylı dokümantasyon için:
https://www.conventionalcommits.org/en/v1.0.0/


Top comments (0)