Git’teki Commit’ler Arasında Yapılmamış Değişiklikleri Nasıl Kontrol Ederim?
Giriş
Git, yazılım geliştirme sürecinde sıklıkla kullanılan, dağıtık bir versiyon kontrol sistemidir. Geliştiriciler, projelerinin her aşamasında kodlarını commit’ler aracılığıyla kaydeder ve sürüm geçmişini takip eder. Ancak, bazen commit’ler arasındaki değişiklikleri kontrol etmek, yapılmamış (veya henüz commit edilmemiş) değişiklikleri bulmak gerekebilir. Bu yazıda, Git’teki commit’ler arasında yapılmamış değişiklikleri nasıl kontrol edebileceğinizi adım adım anlatacağız.
Git’teki Yapılmamış Değişiklikler Nedir?
Git’teki yapılmamış değişiklikler, genellikle çalışma dizininde ya da staging alanında (yani git add
komutuyla eklenmemiş değişiklikler) bulunur. Bir commit, bu değişikliklerin bir snapshot’ını alır ve geçmişe kaydeder. Ancak bazen geliştirdiğiniz bir özelliği henüz commit etmeden önce, ne gibi değişikliklerin yapıldığını görmek isteyebilirsiniz.
Yapılmamış değişiklikler, aynı zamanda hâlâ lokal bilgisayarınızda bulunan ancak commit edilmemiş dosyalar olabilir. Bu değişiklikleri izlemek, hata ayıklama ve kodunuzu düzenli tutma açısından önemlidir.
Git ile Yapılmamış Değişiklikleri Kontrol Etme
Git’teki yapılmamış değişiklikleri kontrol etmenin birkaç farklı yolu vardır. Aşağıda, en yaygın kullanılan komutlar ve yöntemler sırasıyla açıklanmıştır:
1. git status
Komutu
En basit yöntemlerden biri, git status
komutunu kullanmaktır. Bu komut, çalışma dizininde yapılmış ancak commit edilmemiş değişiklikleri listeler. Aynı zamanda, staging alanında bulunan değişiklikler hakkında da bilgi verir.
git status
Örnek çıktı:
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: index.html
deleted: style.css
Untracked files:
(use "git add ..." to include in what will be committed)
new_file.js
Bu çıktıda, index.html
dosyasında yapılan değişiklikler henüz staging alanına eklenmemiştir, style.css
dosyası ise silinmiştir. Ayrıca, new_file.js
adlı bir dosya da daha önce commit edilmemiş bir dosya olarak gözükmektedir.
2. git diff
Komutu
Commit edilmemiş değişiklikleri daha detaylı incelemek için git diff
komutunu kullanabilirsiniz. Bu komut, dosya içindeki farkları gösterir. Yani, dosyada ne gibi satır değişiklikleri yapıldığını görmenizi sağlar.
git diff
Örnek çıktı:
diff --git a/index.html b/index.html
index f3a7ab7..a7b84f7 100644
--- a/index.html
+++ b/index.html
@@ -1,3 +1,3 @@
-
+
Git Changes
-
+
Bu çıktı, index.html
dosyasındaki değişiklikleri satır satır gösterir. Burada, <body>
etiketi değiştirilmiş ve yerine <div>
etiketi eklenmiştir.
3. git diff --staged
Komutu
Staging alanına eklenmiş fakat commit edilmemiş değişiklikleri görmek için git diff --staged
komutunu kullanabilirsiniz. Bu, git add
komutu ile eklediğiniz değişikliklerin commit edilmeden önce nasıl göründüğünü anlamanızı sağlar.
git diff --staged
Örnek çıktı:
diff --git a/index.html b/index.html
index f3a7ab7..a7b84f7 100644
--- a/index.html
+++ b/index.html
@@ -1,3 +1,3 @@
-
+
Git Changes
-
+
Bu çıktı, git add
komutu ile staging alanına eklenmiş olan index.html
dosyasındaki değişiklikleri gösterir. Henüz commit edilmemiştir.
4. git log
ve git log --stat
Komutları
Commit’ler arasındaki farkları görmek için git log
komutunu kullanabilirsiniz. Eğer her bir commit’in yaptığı değişiklikleri görmek istiyorsanız, git log --stat
komutunu kullanarak her commit’teki dosya değişikliklerinin kısa bir özetini alabilirsiniz.
git log --stat
Örnek çıktı:
commit f3a7ab7e3d9c8a5d18b9d9087b6a2bdb44ad5673 (HEAD -> master, origin/master)
Author: User
Date: Thu Jan 2 12:34:56 2025 +0300
Updated index.html with new content
index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Bu komut, son commit’in index.html
dosyasında değişiklik yaptığını ve bu değişikliklerin bir satır ekleme ve bir satır silme içerdiğini gösteriyor.
Sonuç
Git, yazılım geliştirme sürecinde kodun takibini yapmayı oldukça kolaylaştırır. Yapılmamış değişiklikleri kontrol etmek, projenizin ilerleyişini izlemek ve kodunuzun stabilitesini sağlamak açısından oldukça önemlidir. git status
, git diff
, git diff --staged
ve git log --stat
komutları, bu değişiklikleri takip etmeniz için size güçlü araçlar sunar.
Bu araçları kullanarak, kodunuzdaki değişiklikleri kolayca kontrol edebilir ve hataları daha hızlı bir şekilde tespit edebilirsiniz. Git ile sürüm kontrolünü etkili bir şekilde yönetmek, projelerinizin başarısı için kritik öneme sahiptir.