Git’te kurtarma ve iz sürme
Bozulmuş, yanlış yeniden yazılmış ya da kurcalanmış depoları kurtarır; kim neyi ne zaman değiştirdi sorusunu kanıtla yanıtlarsın.
Seviye 501 · 12 ders · 12 pratik lab
Dersler
Kayıp ve bozulma
- Askıda kalan nesneleri bulmak: fsck --lost-found
- Bozuk nesne ve paketleri onarmak
- Zorla gönderimle ezilen dalı kurtarmak
- Kısa görev: yarısı bozulmuş depodan tüm işi kurtar
İz sürme
- Yazar, commit’leyen ve tarihler: neye güvenilir
- Kurcalanmış geçmişi fark etmek
- Sızan gizli bilginin zaman çizelgesini çıkarmak
- Reflog ve sunucu kayıtlarını kanıt olarak kullanmak
- Arka kapı ekleyen commit’i bulmak ve geri almak
- Kısa görev: şüpheli bir değişikliğin olay zaman çizelgesini yaz
Kapanış
- Git olayları için müdahale el kitabı yazmak
- Bitirme görevi: ele geçirilmiş bir depoyu incele, temizle ve raporla
Pratik lablar
- Hiç commit’lenmemiş dosyayı kurtar: Sahnelenip sonra reset ile silinen ve hiç commit’lenmemiş bir dosyanın içeriğini sarkan blob’lar arasından bul ve dosyayı eksiksiz geri yaz.
- Ezilen dalı başkasının kopyasından kurtar: Sunucuda force push ile ezilen ve yerel reflog’u olmayan dalı ekip arkadaşının verdiği bundle dosyasından geri getir, sunucuya geri yükle ve kayıp commitlerin döndüğünü göster.
- Bozuk paket dosyası: fsck’nin bozuk bildirdiği paket dosyasından hangi nesnelerin etkilendiğini bul, sağlam nesneleri ayıkla, eksikleri yedek klondan tamamla ve deponun temiz fsck verdiğini göster.
- Tarihlere güvenebilir miyiz?: Depoda yazar tarihi ile commit tarihi arasında olağan dışı fark olan ya da sırası tutarsız commitleri listele ve neden şüpheli olduklarını tek cümleyle açıkla.
- Sonradan yeniden yazılmış geçmiş: Sunucudaki depo ile eski bir yedek klonu karşılaştırıp yeniden yazılmış commitleri bul, hangi dosyaların ve satırların değiştirildiğini çıkar ve bulguyu raporla.
- Biçimlendirme commit’ine gizlenmiş kod: Copperleaf Insurance deposunda ‘yalnızca biçimlendirme’ diye gönderilmiş büyük commit’in içine saklanmış zararlı satırları boşlukları yok sayan diff ile bul, geri al ve kanıtlarıyla raporla.
- Sızan belirteç hangi commitlerde?: Sızdığı bildirilen erişim belirtecinin geçtiği tüm commitleri ve onları içeren dalları ve etiketleri tüm geçmişte ara ve listeyi rapora yaz.
- Zorla push’u kim yaptı?: Sunucu kanca kayıtlarını ve geliştirici reflog’larını birleştirerek ana dalı zorla güncelleyen push’un kimden, ne zaman geldiğini ve hangi commitleri sildiğini gösteren zaman çizelgesi çıkar.
- Sızıntıyı temizle ve raporla: Lab deposundaki sızmış özel anahtarı tüm dallardan ve etiketlerden geçmişi yeniden yazarak temizle, eski referansları ve önbelleği boşalt, izinin kalmadığını kanıtla ve kısa bir olay raporu yaz.
- Dokunmadan önce deponun kopyasını al: Şüpheli değişiklik bildirilen lab deposunun reflog ve sarkan nesneleriyle birlikte tam bir ayna kopyasını al, kopyanın özetini kaydet ve hangi verinin sıradan bir klonda kaybolacağını cevap dosyasına yaz.
- Yarı bozuk depodan kurtarılanların dökümü: Göktaşı Yazılım’ın diski dolarken bozulan deposunda sağlam kalan dalları, kurtarılabilen sarkan commit’leri ve geri getirilemeyen nesneleri ayır, kurtarılanları yeni bir depoya taşı ve kaybın dökümünü yaz.
- Git olayı kılavuzunu tatbikatta sına: Verilen eksik müdahale kılavuzunu lab deposundaki zorla push ve sızan anahtar senaryosunda adım adım uygula, işlemeyen ve eksik kalan üç adımı bul, kılavuzu düzelt ve ikinci tatbikatta her adımın kanıtını topla.
Kurs hakkında
Bozulmuş, yanlış yeniden yazılmış ya da kurcalanmış depoları kurtarır; kim neyi ne zaman değiştirdi sorusunu kanıtla yanıtlarsın.
Ne öğreneceksin
- Kayıp ve bozulma
- İz sürme
- Kapanış
Ön koşullar
Aynı yolun 401 düzeyine kadar olan konularında deneyimli olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 501 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.