git checkout
- Git kursu
- Başlangıç
- Ders 49/80
- 4 dk
git checkout ile dosyayı eski haline getirmeyi öğrenirsin.
git checkout ile dosyayı geri al
git checkout -- dosya.txt komutu, çalışma alanındaki bir dosyayı son commit edilmiş haline döndürür. Buradaki -- işareti, ardından gelen adın bir dal değil dosya olduğunu belirtir. Bu işlem dosyadaki kaydedilmemiş değişiklikleri siler.
git checkout -- notlar.txtDosyanın geri döneceği kaynak varsayılan olarak HEAD, yani mevcut konumdaki son commit'tir.
HEAD ile geri yükleme
HEAD, Git deposunda o anda bulunulan son commit'i gösterir. Dosya üzerinde commit edilmemiş değişiklikler varsa git checkout -- bu değişiklikleri kaldırarak dosyanın HEAD içindeki içeriğini getirir.
git status
git checkout -- index.html
git statusGeri yükleme sonrasında dosyanın kaydedilmemiş değişiklikleri artık görünmez. Bu nedenle komutu çalıştırmadan önce dosyanın mevcut içeriğine ihtiyacın olup olmadığını kontrol et.
Uygulama Dosyayı eski haline getir
notlar.txt dosyasını mevcut HEAD commit'indeki haline döndürmek için gerekli komutu yaz. Ardından git status ile çalışma alanının durumunu kontrol et.
Başlangıç kodu
# Dosyayı geri yükle
# Durumu kontrol etÖrnek çözüm
git checkout -- notlar.txt
git statusBeklenen çıktı
On branch main nothing to commit, working tree clean
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dosyayı hangi sürüme döndürür?
- En son değiştirilen tüm dosyaların sürümüne
- Boş bir dosyaya
- Son commit'teki sürüme Doğru cevap
- Dosyanın ilk oluşturulduğu sürüme
Açıklama: <code>git checkout --</code> belirtilen dosyayı mevcut <code>HEAD</code> commit'indeki haline döndürür.
2 Dosyayı HEAD sürümüne döndür
git checkout -- ____
git checkout -- rapor.txt
Açıklama: <code>git checkout -- rapor.txt</code> dosyayı son commit'teki haline döndürür.
3 Checkout kavramları
| Kavram | Anlamı |
|---|---|
HEAD |
Mevcut son commit |
-- |
Dosya ayıracı |
git checkout -- a.txt |
Dosyayı geri yükler |
Kaydedilmemiş değişiklik |
Commit edilmemiş içerik |