Bir Branch'i Sıfırla
Coddy'nin Terminal Journey'sinin Versiyon Kontrolü bölümünün bir parçası — ders 44 / 58.
git reset mevcut dal işaretçisini farklı bir commit'e taşır. En yaygın kullanımı, henüz paylaşmadığınız son commit'leri geri almaktır.
git reset --hard HEAD~1Bu işlem main dalını bir commit geriye taşır ve çalışma dizinini buna uyacak şekilde üzerine yazar. Atladığınız commit'e artık dalınızdan ulaşılamaz (Git, fikrinizi değiştirme ihtimalinize karşı onu bir süre saklar, ancak silinmesini bekleyin).
Üç farklı sıfırlama türü mevcuttur:
--soft: dal işaretçisini taşı; hazırlanan (staged) değişiklikleri koru--mixed(varsayılan): işaretçiyi taşı; hazırlanan alanından çıkar (unstage) ancak çalışma dosyalarını koru--hard: işaretçiyi taşı; çalışma dosyası değişikliklerini de at
--hard en yıkıcı formdur. Yerel hataları temizlemek için harikadır, ancak başkalarının çoktan çektiği commit'lerde asla kullanmayın.
Görev
OrtaKlasör doc.md dosyasını içeriyor. Depoyu başlatın ve sırasıyla üç commit oluşturun:
doc.mddosyasınıAdd docmesajıyla ekleyin.doc.mddosyasınasecondifadesini ekleyin,Second draftmesajıyla commit yapın.doc.mddosyasınathirdifadesini ekleyin,Third draftmesajıyla commit yapın.
HEAD~2 kullanarak dalı en baştaki ilk commit'e hard-reset yapın. doc.md dosyasının içeriğini yazdırın.
Kopya kağıdı
git reset mevcut dal işaretçisini farklı bir commit'e taşır. Üç türü vardır:
--soft: işaretçiyi taşı; sahnelenen (staged) değişiklikleri koru--mixed(varsayılan): işaretçiyi taşı; değişiklikleri sahneden çıkar ancak çalışma dosyalarını koru--hard: işaretçiyi taşı; çalışma dosyası değişikliklerini at
git reset --hard HEAD~1 # son commit'i geri al, değişiklikleri at
git reset --hard HEAD~2 # son 2 commit'i geri alUyarı: Başkalarının çoktan çektiği (pull) commit'lerde asla --hard kullanmayın.
Kendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Versiyon Kontrolü bölümündeki tüm dersler
4Değişiklikleri İnceleme
Git DiffHazırlanan Değişiklikleri KarşılaştırmaGit ShowÖzet - Dedektiflik Çalışması5Dosyaları Yoksayma
Dosyaları Neden YoksayarızGitignore DesenleriYoksayma Kurallarını Kontrol EtmeÖzet - Temiz Repo3Değişiklikleri İzleme
Hazırlık AlanıGit AddGit Commitİzlenen Bir Dosyayı DeğiştirmeGit LogÖzet - İlk Commit'ler6Yemek Tarifi Sitesi Projesi
Projeye Genel BakışBaşlatma ve Yoksayma9Değişiklikleri Geri Alma
Sahnelenmemiş Değişiklikleri İptal EtBir Dosyayı Sahneden ÇıkarSon Commit'i GüncelleBir Commit'i Geri AlBir Branch'i SıfırlaÖzet - Zaman Makinesi