CodeBlanks Logo Icon CodeBlanks

Unstage

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 status

Bu 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 status

Burada 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

terminal
# Dosyayı sahneden çıkar

# Durumu kontrol et

Örnek çözüm

terminal
git restore --staged icerik.html
git status

Beklenen çı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

Soru
git restore ____ 
Cevap
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

Başlangıç bölümündeki tüm dersler