Özet - Reset
- Git kursu
- Orta seviye
- Ders 44/82
- 5 dk
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~1Hangi 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
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
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 -sBeklenen çı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
git reset ____ HEAD~1
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 |