Git temelleri
Depo, commit, dal, birleştirme ve uzak depolar.
Seviye 101 · 18 ders · 15 pratik lab
Dersler
İlk depon
- Git kurulumu ve kimlik: Git'i kurar, adını ve e-postanı tanıtarak yapılan her değişikliğin kime ait olduğunun kayda geçmesini sağlarsın.
- Git deposu başlatmak ve durum: Yeni bir depo başlatmayı ve git status ile hangi dosyaların izlendiğini, hangilerinin değiştiğini okumayı öğrenirsin.
- Git hazırlık alanı ve commit: Git'te değişiklikleri hazırlık alanına alıp anlamlı bir mesajla commit olarak kaydetmeyi öğrenirsin.
- İyi commit mesajı yazmak
- Git geçmişi ve farklar: log, diff: Git'te geçmiş commit'leri listeler, iki sürüm arasında neyin değiştiğini diff ile görürsün.
- Kısa görev: bir betik klasörünü depoya dönüştür
Düzeltmek ve dışarıda bırakmak
- Git'te geri almak: unstage, restore, amend, revert: Git'te hazırlanan bir değişikliği geri çekmeyi, dosyayı eski haline döndürmeyi ve son commit'i düzeltmeyi öğrenirsin.
- .gitignore ve gizli bilgiler: .gitignore ile bazı dosyaları takipten çıkarmayı ve parola gibi gizli bilgilerin depoya girmesini önlemeyi öğrenirsin.
- Kısa görev: yanlışlıkla eklenen parola dosyasını commit’ten çıkar
Dallar
- Git dalları: Git'te dal açarak ana kodu bozmadan yeni bir işi ayrı yürütmeyi ve dallar arasında geçiş yapmayı öğrenirsin.
- Git'te birleştirmek ve çatışmaları çözmek: Git'te dalları birleştirmeyi ve aynı satır iki yerde değiştiğinde çıkan çatışmayı elle çözmeyi öğrenirsin.
- Git stash: yarım işi kenara koymak: Git'te yarım kalan işi geçici olarak kenara koyup başka bir işe geçmeyi ve sonra geri almayı öğrenirsin.
- Git etiketleri: Git'te önemli bir sürümü etiketle işaretlemeyi ve daha sonra tam o noktaya dönmeyi öğrenirsin.
- Kısa görev: acil düzeltmeyi ayrı dalda yap ve ana dala birleştir
Uzak depolar ve kurtarma
- Git uzak depoları: clone, push, pull: Git ile uzak bir depoyu klonlamayı, değişiklikleri göndermeyi (push) ve almayı (pull) öğrenirsin.
- Git reset ve reflog ile kurtarma: Reset ile geçmişte geri gitmeyi ve yanlışlıkla kaybedilen commit'leri reflog kaydından kurtarmayı öğrenirsin.
- Kısa görev: silinmiş görünen commit’i reflog ile geri getir
Kapanış
- Bitirme görevi: Git ile yapılandırma deposunu yönet: Kurgusal bir şirketin yapılandırma dosyalarını Git'te yönetir; dal, commit ve etiketle değişiklikleri izler, gizli bilgileri depodan uzak tutarsın.
Pratik lablar
- Tek dosyada iki ayrı değişiklik: Pırıl Fırın’ın tarif dosyasındaki iki ilgisiz değişikliği git add -p ile iki ayrı commit’e böl ve git log -p ile her commit’in tek bir konuyu içerdiğini göster.
- Kişisel e-postayla atılan commitler: Kuzey Lojistik deposunda yalnızca bu depo için iş kimliğini ayarla, son commit’in yazarını düzelt ve git log --format ile yeni commit’lerin doğru kimlikle atıldığını kanıtla.
- Karışık çalışma dizininden üç temiz commit: Yeni dosyalar, silinmiş dosyalar ve bir yeniden adlandırma içeren dağınık çalışma dizinini üç anlamlı commit’e ayır; git status temiz kalsın ve git show --stat her commit’in tutarlı olduğunu göstersin.
- Yanlışlıkla sahnelenen kayıt dosyası: Sahneye eklenmiş kayıt dosyasını değişikliklerini kaybetmeden sahneden çıkar ve git status ile dosyanın yalnızca çalışma dizininde kaldığını göster.
- Paylaşılan hatalı commit’i geri al: Uzak depoya gönderilmiş ve Tarçın Kafe menü sitesini bozan commit’i geçmişi yeniden yazmadan geri al ve dosyanın eski hâline döndüğünü, geçmişin korunduğunu kanıtla.
- Son commitlerde üç ayrı hata: Henüz gönderilmemiş son commitlerdeki yanlış mesajı, fazladan eklenmiş dosyayı ve yanlışlıkla silinen yapılandırmayı uygun geri alma komutlarıyla düzelt ve kontrol betiğinin geçtiğini göster.
- .gitignore işe yaramıyor: Zaten izlenen derleme klasörünü dosyaları silmeden izlemeden çıkar, .gitignore’a ekle ve git status’un artık onu göstermediğini kanıtla.
- Hepsini yok say, birini tut: Tüm kayıt ve geçici dosyaları yok sayan ama örnek yapılandırma dosyasını izlemeye devam eden .gitignore kuralları yaz ve her dosya için git check-ignore -v çıktısıyla doğrula.
- Dosyayı hangi kural saklıyor?: Global excludes, .git/info/exclude ve iç içe .gitignore dosyaları arasında gerekli bir dosyayı gizleyen kuralı bul, yalnızca o kuralı düzelt ve dosyanın tekrar commit’lenebildiğini göster.
- İki dalda aynı satır: Atlas Klinik randevu yapılandırmasında iki dalın aynı satırı değiştirmesinden doğan çakışmayı çöz, birleştirmeyi tamamla ve git log --graph ile sonucu göster.
- Yarım iş varken acil düzeltme: İzlenmeyen dosyalar dahil yarım işini stash ile kenara al, acil düzeltmeyi ayrı dalda yapıp birleştir, sonra işini geri getir ve çıkan çakışmayı çöz.
- Silinen ve değiştirilen dosya çakışması: Bir dalın sildiği, diğerinin değiştirip başka klasöre taşıdığı dosyalardan doğan çakışmaları doğru karar vererek çöz ve test betiğinin birleşmiş dalda geçtiğini göster.
- Reddedilen push: Lab’daki çıplak uzak depoya reddedilen push’u, uzak değişiklikleri kendi commit’inin altına alarak çöz ve git log ile iki işin de korunduğunu göster.
- Silinen dalı geri getir: Birleştirilmeden silinen özellik dalının son commit’ini reflog ile bul, dalı yeniden oluştur ve içindeki dosyaların geri geldiğini göster.
- Taşınan uzak depo, eksik etiketler: Adresi değişen uzak depoyu güncelle, bozulan izleme dallarını yeniden bağla, hiç gönderilmemiş sürüm etiketlerini gönder ve git ls-remote ile uzak tarafın eksiksiz olduğunu kanıtla.
Kurs hakkında
Depo, commit, dal, birleştirme ve uzak depolar.
Ne öğreneceksin
- İlk depon
- Düzeltmek ve dışarıda bırakmak
- Dallar
- Uzak depolar ve kurtarma
- Kapanış
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
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 başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanı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.