"Commit" Yapmak Ne Demektir?
"Commit" yapmak, Git'te bir projenin o anki durumunun bir "anlık görüntüsünü" (snapshot) alarak, yapılan değişiklikleri kalıcı olarak lokal repoya (yerel depoya) kaydetme işlemidir. Her bir commit, projenin geçmişindeki bir kontrol noktası veya bir "kayıt noktası" gibidir.
Commit'in Anatomisi: Bir commit sadece yapılan kod değişikliklerini içermez. Her commit, üç ana bileşenden oluşur: 1. Benzersiz Kimlik (Hash): Her commit'in, SHA-1 algoritmasıyla üretilmiş, kendine özgü, 40 karakterlik bir kimlik numarası (hash) vardır. Bu, commit'leri birbirinden ayırmayı ve geçmişi güvenli bir şekilde saklamayı sağlar. 2. Commit Mesajı: Geliştiricinin, o commit'te ne gibi değişiklikler yaptığını açıklayan bir mesajdır. "X hatası düzeltildi", "Y özelliği eklendi" gibi açıklayıcı mesajlar yazmak, projenin geçmişini anlaşılır kılmak için çok önemlidir. 3. Meta Veri: Commit'i yapan kişinin adı, e-posta adresi ve commit'in yapıldığı tarih ve saat gibi bilgileri içerir.
İki Aşamalı Süreç: Staging Area: Git'te commit yapma süreci genellikle iki aşamalıdır. Önce, commit'e dahil etmek istediğiniz değişiklikleri "staging area" (sahneleme alanı) adı verilen bir ara bölgeye eklersiniz (`git add` komutuyla). Bu, size hangi değişikliklerin bir sonraki commit'e dahil edileceğini seçme esnekliği tanır. Ardından, sahneleme alanındaki tüm değişiklikleri bir commit mesajıyla birlikte paketleyerek lokal reponuza kaydedersiniz (`git commit` komutuyla).
Önemi: Commit'ler, projenin evrimini adım adım izlemeyi sağlar. Bir hata ortaya çıktığında, hangi commit'in o hataya neden olduğunu bulmak, farklı sürümleri karşılaştırmak veya istenmeyen bir değişikliği geri almak için commit geçmişi kullanılır. Bu, organize ve güvenli bir yazılım geliştirme sürecinin temelidir.