(TR) Semantic Commit Messages for GIT

Kemal AKCIL
2 min readMar 9, 2023

--

You can access the English version of this article I wrote at this link.

“Semantic” kelimesi, “Anlamlı” manasına gelir. Bu kelime, bilgisayar bilimleri ve yazılım geliştirme gibi alanlarda, bilgisayarların anlamaya ve yorumlamaya yardımcı olacak yapısal ve anlamsal bilgilerle donatılması için kullanılır.

“Semantic Commit Messages” yaklaşımı ise, yazılım geliştirme sürecinde, kod değişikliklerinin açık ve tutarlı bir şekilde belirtilmesini sağlayan bir yaklaşımdır. Bu yaklaşım, geliştiricilerin yaptıkları değişikliklerin amacını, türünü ve kapsamını daha net bir şekilde ifade etmelerine olanak sağlar.

GIT evreninde her bir kod değişikliği, bir “commit” olarak adlandırılır ve bu commit, bir mesaj ile açıklanır. Semantic Commit Messages yaklaşımı, commit mesajlarının belirli bir format ve standart kullanım şekli ile yazılmasını önerir. Bu konu junior seviyeden senior seviyeye kadar tüm geliştiricileri yakından ilgilendirmektedir.

structure of semantic commit message with an example

Bu format genellikle <type>(<scope>): <subject> şeklinde olur.

<type>”, değişikliğin türünü belirtir (örneğin, “feat” bir yeni özellik eklendiğini ifade eder),

“<scope>” değişikliğin kapsamını belirtir, çoklu proje içeren bir repositoryde değişiklik yapılan projenin adı olabilir ya da bir projenin hangi bölümünde değişiklik yapıldığı da gösterilebilir. (isteğe bağlıdır)

“<subject>”, değişikliğin özetini açıklar. (geniş zaman kullanılması önerilir)

Sık kullanılan <type> lar:

  • feat: (kullanıcı için yeni bir özellik)
  • fix: (kullanıcı için bir hata düzeltmesi)
  • docs: (belgelendirmede yapılan değişiklikler)
  • style: (biçimlendirme, eksik noktalı virgüller, girintiler, tırnak işaretleri, sondaki virgüller vb)
  • refactor: (kodu yeniden düzenleme, örneğin bir değişkenin yeniden adlandırılması)
  • perf: (geriye dönük uyumlu performans geliştirmeleriyle ilgili üretim değişikliklerini belirtir)
  • test: (eksik testlerin eklenmesi, testlerin yeniden düzenlenmesi)
  • chore or build: (.gitignore’un düzenlenmesi, paket bağımlılıklarıyla ilgili geliştirme gibi kullanıcıyı asla etkilemeyen değişiklikler ve yenilikler)

Tüm bu bilgilerin ışığında en nihayetinde ortaya çıkacak commit mesajlarına” örnek vermek konuyu pekiştirecektir.

  • Amac örneği: “feat: added customer search feature” (Burada amaç, yeni bir özellik eklemektir)
  • Tür örneği: “style: added missing semicolons” (Burada tür, kod biçimlendirmesiyle ilgilidir)
  • Kapsam örneği: “fix(auth): user login error fixed” (Burada kapsam, değişikliğin “auth” adlı bir bölümle sınırlı olduğunu gösterir)

Ekstra:

Değişime ve commite dikkat çekmek için iki noktadan (:) önce “!” eklenmelidir. Örneğin:

feat!: sends an email to the customer when a product is shipped

Ayırdığınız vakit için teşekkür ederim. Umarım yararlı bir anlatım olmuştur.

Kaynakça:
https://nitayneeman.com/posts/understanding-semantic-commit-messages-using-git-and-angular
https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716

--

--

Kemal AKCIL
Kemal AKCIL

No responses yet