Unstage
- Git kursu
- Başlangıç
- Ders 51/80
- 4 dk
Sahneye eklenmiş bir dosyayı geri almayı öğrenirsin.
Sahneye alınmış dosyayı geri çıkar
git add ile bir dosyayı sahneye ekledikten sonra bu işlemi geri almak isteyebilirsin. git restore --staged dosya.txt komutu dosyayı sahneden çıkarır ancak çalışma alanındaki değişikliklerini korur. Böylece dosyayı yeniden düzenleyebilir veya daha sonra tekrar sahneye ekleyebilirsin.
git add rapor.txt
git restore --staged rapor.txt
git statusBu işlem dosyanın içeriğini silmez; yalnızca sahneleme durumunu değiştirir.
Unstage ve reset
Sahneye alınmış değişiklikleri geri çıkarmanın bir başka yolu git reset HEAD dosya.txt komutudur. Bu kullanım dosyanın sahneleme kaydını geri alır, fakat çalışma alanındaki düzenlemeleri korur. Güncel ve açık bir alternatif olarak git restore --staged tercih edilebilir.
git add notlar.txt
git reset HEAD notlar.txt
git statusBurada amaç son commit'i silmek değil, yalnızca dosyanın sahneleme durumunu değiştirmektir.
Uygulama Sahnelemeyi geri al
icerik.html dosyası daha önce git add ile sahneye eklenmiştir. Dosyayı sahneden çıkar, çalışma alanındaki değişiklikleri koru ve ardından durumu kontrol et.
Başlangıç kodu
# Dosyayı sahneden çıkar
# Durumu kontrol etÖrnek çözüm
git restore --staged icerik.html
git statusBeklenen çıktı
On branch main Changes not staged for commit: modified: icerik.html
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sahnedeki dosyayı çıkarırken değişiklikleri nasıl korursun?
- git restore --staged dosya.txt Doğru cevap
- git restore dosya.txt
- git rm dosya.txt
- git checkout -- dosya.txt
Açıklama: <code>--staged</code> seçeneği dosyayı sahneden çıkarır ve çalışma alanındaki değişiklikleri korur.
2 Dosyayı sahneden çıkar
git restore ____
git restore --staged
Açıklama: <code>--staged</code> seçeneği dosyanın sahneleme durumunu geri alır ve çalışma alanındaki içeriği korur.
3 Unstage kavramları
| Kavram | Anlamı |
|---|---|
Staging area |
Commit öncesi alan |
--staged |
Sahneden çıkarma seçeneği |
git reset HEAD |
Eski unstage yöntemi |
Working tree |
Değişikliklerin korunduğu alan |