Git’teki Mevcut Branch Nasıl Eski Bir Commit’e Geri Döndürülür?
Git, yazılım geliştiricilerinin projelerinde en çok tercih ettiği sürüm kontrol sistemlerinden biridir. Git sayesinde, yazılım projelerindeki her değişiklik kaydedilir ve bu değişiklikler üzerinde kolayca işlem yapılabilir. Bazen, bir proje üzerinde çalışırken yanlış bir değişiklik yapabiliriz ve bu durumda mevcut Git branch’ını eski bir commit’e geri döndürmek gerekebilir. Bu makalede, Git’teki mevcut branch’in nasıl eski bir commit’e geri döndürüleceği konusunda adım adım bir rehber sunacağız.
Git Nedir ve Neden Kullanılır?
Git, yazılım geliştirme sürecinde değişiklikleri takip etmek için kullanılan dağıtık bir sürüm kontrol sistemidir. Git ile her dosya değişikliği ve tüm proje geçmişi saklanır, böylece bir hata yapıldığında kolayca geri dönülebilir. Git, özellikle ekip halinde yapılan projelerde önemli bir rol oynar ve işbirliği yapmayı kolaylaştırır.
Eski Bir Commit’e Geri Dönme Neden Gereklidir?
Yazılım geliştirme sürecinde, bazen yanlış commit’ler yapılabilir. Bu commit’ler projede sorunlara yol açabilir. Git’teki mevcut branch’in eski bir commit’e geri döndürülmesi, şu gibi durumlarda faydalı olabilir:
- Yanlış yapılan bir commit geri alınmak istendiğinde
- Yeni yapılan değişikliklerin projeyi bozması durumunda
- Projede bir özellik eklerken test edilmeden yapılan değişikliklerin geri alınması gerektiğinde
Git’teki Mevcut Branch Nasıl Eski Bir Commit’e Geri Döndürülür?
Git’teki mevcut branch’i eski bir commit’e geri döndürmek için birkaç yöntem vardır. Bu yöntemlerin her biri, belirli bir duruma göre farklılık gösterebilir. Aşağıda bu yöntemleri detaylı şekilde açıklayacağız.
1. git reset
Komutu Kullanarak Geri Dönme
Git’teki bir branch’i eski bir commit’e döndürmenin en yaygın yolu git reset
komutunu kullanmaktır. git reset
, mevcut branch’inizi belirtilen bir commit’e geri döndürmenizi sağlar. Bu komut, hard, soft ve mixed olmak üzere üç farklı modda çalışabilir.
1.1. git reset --hard
Komutu
git reset --hard
komutu, hem çalışma dizininizdeki dosyaları hem de index’i (staging area) belirtilen commit’e sıfırlar. Bu komut, geri alabileceğiniz bir işlem değildir, bu nedenle dikkatli kullanılmalıdır. Bu komut ile geri dönülen commit, git log komutuyla geçmişteki commit’ler arasında görünmez.
git reset --hard
1.2. git reset --soft
Komutu
git reset --soft
komutu, sadece commit geçmişini geri alır, ancak dosyalarınız ve index üzerinde herhangi bir değişiklik yapmaz. Bu, dosyalarınızı staging area’ya eklemenize imkan tanır ve geri döndüğünüz commit’ten sonraki değişikliklerinizi yeniden gözden geçirebilirsiniz.
git reset --soft
1.3. git reset --mixed
Komutu
git reset --mixed
komutu, commit geçmişini geri alırken çalışma dizininizi (working directory) değiştirir, ancak index üzerinde değişiklik yapmaz. Bu, yapılan değişiklikleri saklarken, commit geçmişinizi belirli bir noktaya getirmenize olanak tanır.
git reset --mixed
2. git checkout
Komutunu Kullanarak Geri Dönme
git checkout
komutu, eski bir commit’e dönmek için bir başka kullanışlı Git komutudur. Ancak, bu komut çalışma dizininizi geçici olarak eski bir commit’e yönlendirir ve genellikle yeni bir branch oluşturulması ile birlikte kullanılır. Aşağıdaki adımlarla eski bir commit’e dönebilirsiniz:
git checkout
Bu komut, belirtilen commit’e geçiş yapar. Eğer yeni bir branch oluşturmak istiyorsanız, şu şekilde devam edebilirsiniz:
git checkout -b
3. git revert
Komutunu Kullanarak Geri Dönme
Git’teki mevcut branch’i eski bir commit’e geri döndürmek için bir diğer seçenek ise git revert
komutudur. Bu komut, belirli bir commit’in etkisini tersine çeviren yeni bir commit oluşturur. Bu yöntem, reset komutunun