CodeBlanks Logo Icon CodeBlanks

Özet - Reset

reset modlarını birleştirerek yerel değişiklikleri temizlersin.

Reset modları ve kullanım stratejisi

git reset, yerel geliştirme sırasında commit'leri ve sahneyi yönetmenin en güçlü aracıdır. Sadece commit mesajını veya kapsamını düzeltmek için --soft, sahneyi sıfırlayıp dosyaları korumak için --mixed, tüm değişikliklerden vazgeçmek için --hard tercih edilir. HEAD~n referansı ile geçmişte tam olarak kaç commit geriye gidileceği kolayca belirlenir.

git reset --soft HEAD~1
git reset --mixed HEAD~1
git reset --hard HEAD~1

Hangi modun seçileceği, değişiklikleri sahnede mi, çalışma alanında mı tutmak istediğine ya da tamamen yok etmek mi istediğine bağlıdır.

Uygulama Mixed reset ile sahneyi boşalt ve kontrol et

Son commit'i git reset --mixed -q HEAD~1 ile geri al, dosya içeriğini cat rapor.txt ile ve dosya durumunu git status -s ile ekrana bas.

Başlangıç kodu

terminal
git init -q -b main
git config user.name "Gamze"
git config user.email "gamze@example.com"
echo "stabil surum" > rapor.txt
git add rapor.txt
git commit -qm "Stabil"
echo "taslak notlar" > rapor.txt
git commit -am -q "Taslak commit"

# mixed reset at, dosya icerigini ve durumunu bas

Örnek çözüm

terminal
git init -q -b main
git config user.name "Gamze"
git config user.email "gamze@example.com"
echo "stabil surum" > rapor.txt
git add rapor.txt
git commit -qm "Stabil"
echo "taslak notlar" > rapor.txt
git commit -am -q "Taslak commit"

git reset --mixed -q HEAD~1
cat rapor.txt
git status -s

Beklenen çıktı

taslak notlar
 M rapor.txt

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Son commit'in mesajını değiştirmek veya sahneye yeni bir dosya ekleyip commit'i yeniden oluşturmak isteyen biri hangi komutu kullanmalıdır?

  • git revert --no-edit HEAD
  • git reset --hard HEAD~1
  • git stash clear
  • git reset --soft HEAD~1 Doğru cevap

Açıklama: git reset --soft HEAD~1, son commit'i geri alırken değişiklikleri sahnede tutar; böylece ek dosya ekleyip tek bir commit olarak yeniden kaydedebilirsin.

2 Varsayılan mixed reset ile sahneyi boşalt

Soru
git reset ____ HEAD~1
Cevap
git reset --mixed HEAD~1

Açıklama: --mixed modu, HEAD'i geriye alırken sahneyi boşaltır ancak çalışma dizinindeki değişiklikleri korur.

3 Reset stratejileri

Kavram Anlamı
Soft reset Değişiklikleri sahnede saklar
Mixed reset Değişiklikleri çalışma alanında tutar
Hard reset Tüm çalışma alanını geri sarar
HEAD~ referansı Geriye gidilecek adım sayısını belirtir

Orta seviye bölümündeki tüm dersler

20 Orta seviye finali

  1. Dal yönetimi
  2. Rebase
  3. Çatışma
  4. PR akışı