Commit

Yazar fotoğrafı

Yunus Emre Seferoğlu

24 Şubat 2025

3 dk Okuma

Commit Nedir?

Commit, yazılım geliştirme süreçlerinde kullanılan Git versiyon kontrol sisteminde önemli bir kavramdır. Bir commit, projenin belirli bir anlık görüntüsünü (snapshot) kaydederek kod değişikliklerini belgelendirir ve geri dönülebilir bir sürüm oluşturur.

Commit işlemi, yazılım geliştiricilerin yaptıkları değişiklikleri kayıt altına almasını sağlar. Her commit, bir commit mesajı ile birlikte gelir ve yapılan değişikliklerin ne anlama geldiğini özetler. Bu sayede bir proje ekibi, geçmiş değişiklikleri inceleyebilir ve gerektiğinde önceki sürümlere geri dönebilir.

Commit Kavramını Anlamak için Günlük Hayattan Bir Örnek

Commit kavramını bir Word belgesi üzerinde çalışmak gibi düşünebiliriz:

  • Diyelim ki bir Word belgesi yazıyorsun ve ilk versiyonunu kaydediyorsun. Bu, bir commit gibidir.
  • Daha sonra belgenin birkaç satırını değiştirip yeniden kaydediyorsun. Bu da yeni bir commit olur.
  • Eğer önceki bir kayda (commit'e) dönmek istersen, Word’ün "geri al (undo)" veya "eski versiyonları yükle" özelliğini kullanabilirsin. Git’te de eski commit'lere dönmek mümkündür.

Bu süreç, Git’in çalışma mantığını gösterir. Her commit, projenin bir önceki durumuna dönebileceğin bir kontrol noktası oluşturur.

Commit Nasıl Çalışır?

Git’te commit işlemi üç temel adımda gerçekleşir:

1. Değişiklik Yap (Working Directory)

Projenin bir dosyasında veya birçok dosyasında değişiklik yaparsın. Örneğin, index.html dosyanın içeriğini değiştirdiğini düşünelim.

Bu dosyayı kaydettiğinde Git bunu hemen commit yapmaz, çünkü önce değişiklikleri sahneye (staging area) alman gerekir.

2. Değişiklikleri Staging Area'ya Ekle

Commit yapmadan önce değişiklikleri sahneye (staging area) almak gerekir. Terminal veya komut satırında şu komutu kullanarak değişiklikleri ekleyebilirsin:

git add index.html

Bu komut, değişiklikleri staging alanına taşır ve commit edilmeye hazır hale getirir.

3. Commit Yap

Şimdi değişiklikleri commit edebilirsin. Bunun için şu komutu kullanarak bir commit mesajı eklemen gerekir:

git commit -m "Ana sayfada başlık değiştirildi"

Burada -m parametresi, commit mesajını belirtmek için kullanılır.

Commit sonrası:

  • Git, projenin bu anlık görüntüsünü kaydeder.
  • Yapılan değişiklikler commit mesajı ile açıklanır.
  • Daha sonra istenirse bu commit’e geri dönülebilir.

Commit'in Faydaları

Kodun Farklı Versiyonlarını Kaydeder: Commit işlemi sayesinde yapılan her değişiklik kayıt altına alınır. Örneğin, bir hata yaptıysan ve önceki duruma dönmek istiyorsan, commit sayesinde kolayca geri alabilirsin.

Ekiple Çalışmayı Kolaylaştırır: Bir ekipte çalışırken commit mesajları, diğer ekip üyelerinin yapılan değişiklikleri anlamasına yardımcı olur. Örneğin, başka bir geliştirici git log komutuyla commit geçmişine bakarak kim hangi değişikliği yapmış görebilir.

Hata Geri Alma İmkânı Sunar: Eğer yanlış bir değişiklik yaparsan, eski commit'e şu komutla geri dönebilirsin:

git checkout <commit_id>

Bu sayede hatalı bir değişiklik yaptıysan, eski haline dönebilir ve kodun bozulmasını engelleyebilirsin.

Commit ve GitHub

Eğer GitHub kullanıyorsan, commit’ler GitHub deposuna (repository) gönderilmeden önce git push komutuyla remote (uzak) depoya aktarılır.

Örneğin, commit yaptıktan sonra GitHub’a göndermek için:

git push origin main

Bu komut, yapılan commit’i GitHub’daki main (ana) dalına (branch) gönderir.

Sonuç

Commit, Git'in temel yapı taşlarından biridir ve projelerde yapılan değişiklikleri kayıt altına alarak yönetilebilir ve geri dönülebilir bir kod geçmişi oluşturur. Doğru commit mesajları yazmak, ekibin değişiklikleri daha iyi takip etmesini sağlar ve projeyi daha düzenli hale getirir.

Eğer Git kullanıyorsan, her önemli değişiklikten sonra commit yapmayı alışkanlık haline getirmek, kod yönetimini kolaylaştırır.