İlk Depo: init, add, commit ve İndeksin Sihri
İlk depomuzu oluştururken, birçok kişinin yıllarca anlamadığı bir kavramla karşılaşıyoruz: staging area (indeks). Çalışma klasörü ile geçmiş arasındaki bu 'ara katmanın' neden gerekli olduğunu ve add → commit şeklindeki iki aşamalı sistemin commit'leri nasıl anlamlı hale getirdiğini, rastgele olmaktan nasıl kurtardığını örneklerle göreceğiz.
- Staging area'nın neden var olduğunu ve atomik, anlamlı commit'ler oluşturmaya nasıl yardımcı olduğunu anlayacaksınız.
- Bir depo oluşturabilecek, dosyaları indekse ekleyebilecek ve doğru mesajla ilk commit'inizi yapabileceksiniz.
- git add -p kullanarak bir dosyadaki değişikliklerin yalnızca bir kısmını commit'e nasıl ekleyeceğinizi öğreneceksiniz.
Phần đầu bài giảng
İlk Depoyu Oluşturuyoruz
- git init gizli bir .git klasörü oluşturur
- .git içinde tüm değişiklik geçmişi saklanır
- Depo herhangi bir klasörde oluşturulabilir
- Mevcut dosyalar takip edilmeyen dosyalar haline gelir
- Analoji: Yeni bir deftere günlük başlatmak
Projenizi bir kitap, depoyu ise her düzeltmenin saklandığı bir taslak olarak düşünün. git init komutunu çalıştırdığınızda, klasörünüzde gizli bir .git dizini oluşur — işte depo budur. Git, tüm değişiklik geçmişini, meta verileri ve ayarları bu dizinin içinde saklayacaktır. Şunu anlamak önemlidir: depoyu herhangi bir zamanda, hatta klasörde zaten dosyalar olsa bile oluşturabilirsiniz. Bu dosyalar sadece takip edilmeyen dosyalar haline gelir ve daha sonra ekleyebilirsiniz. Bu, bir günlük tutmaya başlamak gibidir — bir defter edinirsiniz, ancak hangi notların gireceğine henüz karar vermemişsinizdir.
.git'in Altınına Bakıyoruz
- objects: dosyaların ve commit'lerin sıkıştırılmış verileri
- refs: dallar ve etiketler için işaretçiler, yer imleri gibi
- HEAD: geçmişteki mevcut konum
- config: depo ayarları
- hooks: otomasyon için script'ler
Şimdi .git klasörünün içine bir göz atalım. Git'in bütün büyüsü burada. objects dizininde tüm dosyalarınız ve commit'leriniz sıkıştırılmış olarak saklanır. refs klasörü, dallar ve etiketler için işaretçiler içerir — tıpkı bir kitaptaki yer imleri gibi. HEAD dosyası, geçmişte nerede olduğunuzu gösterir. config dosyasında ise bu depoya özel ayarlar bulunur. Bir de hooks vardır — bunlar belirli olaylarda otomatik olarak çalıştırılan script'lerdir. Git, başlatma sırasında tüm bunları otomatik olarak oluşturur. Buraya nadiren bakmanız gerekir, ancak yapıyı anlamak karmaşık durumlarda yardımcı olacaktır.
Uygulama: Depo Oluşturma
- Proje klasöründe terminali açın
- git init komutunu çalıştırın
- ls -la ile .git oluşumunu kontrol edin
- Windows: dir /ah kullanın
- Tamam! Klasör sürüm kontrolü altında
Projenizin bulunduğu klasörde terminali açın. git init komutunu yazın ve Enter'a basın. Boş bir deponun başlatıldığına dair bir mesaj göreceksiniz. Her şeyin yolunda gittiğinden emin olmak için ls -la komutunu çalıştırın — gizli .git klasörünü görmelisiniz. Windows kullanıyorsanız dir /ah komutunu kullanın. Tebrikler, artık klasörünüz sürüm kontrolü altında! Yapacağınız tüm değişiklikleri Git takip edebilecek. Artık depo oluşturulduğuna göre, Git'in dosyaları nasıl sınıflandırdığını anlamanın zamanı geldi — bu, Git'in çalışmasını anlamanın anahtarıdır.
# Proje klasörünü oluşturun ve içine girin
mkdir my_first_repo
cd my_first_repo
# Depoyu başlatın
git init
# .git'in oluşumunu kontrol edin
ls -la | grep .git
Bài giảng đầy đủ dành cho thuê bao
Còn 20 slide nữa trong phiên bản đầy đủ.
Video, toàn bộ slide, ghi chú, bài kiểm tra, gia sư AI và phỏng vấn sẽ mở sau khi đăng nhập và đăng ký thuê bao.
Đăng nhập hoặc đăng ký Đăng ký thuê baoNội dung bài giảng
- İlk Depoyu Oluşturuyoruz
- .git'in Altınına Bakıyoruz
- Uygulama: Depo Oluşturma
- Dosyaların Üç Durumu: Bu Neden Gerekli?
- Çalışma Dizini: Ürettiğiniz Yer
- İndeks: Değişiklikleri Anlamlı Parçalar Halinde Toplama
- Commit: Geçmişi Sonsuza Dek Kaydetme
- Git İndeksi: Commit İçin Ara Bölge
- Belirli Bir Dosyayı İndekse Ekleme
- Tüm Değiştirilmiş Dosyaları Ekleme
- Git'te Commit Nedir?
- İlk Commitimizi Oluşturuyoruz
- İyi Commit Mesajları Nasıl Yazılır?
- Karışık Değişiklikler Sorunu
- Git add -p Eylemde
- Yamalar Nasıl Okunur
- Neden add Olmadan Commit Çalışmaz
- Bir Görev, Bir Commit
- Bir Yıl Sonra Bile Anlaşılır Commit Mesajları
- İlk Depomuzu Oluşturuyoruz
- İndeks: Kod ile Commit Arasında
- Anlamlı Bir Commit Oluşturuyoruz
- İlk Commit'inizi Yaptınız: Sırada Ne Var?
Bài viết liên quan đến bài học này
- git add và git commit: cách lưu thay đổi đúng
- Lệnh Git: bảng tra cứu với ví dụ dùng hằng ngày
- Kho lưu trữ Git: cách tạo bằng git init và kết nối remote
- Tệp .gitignore: cách loại trừ tệp khỏi Git và gỡ tệp đã thêm
- Git và GitHub: khác nhau thế nào và liên hệ ra sao
Tất cả bài giảng của khóa học
- Giriş: Sıfırdan Güvenilir Geliştiriciye Git
- Git Neden Gereklidir — ve Neden İşe Alırken Onsuz Yapamıyorlar
- Kurulum ve Yapılandırma: Git'i İlk Çalıştırmaya Hazırlama
- İlk Depo: init, add, commit ve İndeksin Sihri
- Geçmişi Okumak: log, diff, show ve Geçmişte Gezinti
- Dallar: Kodunuzun Paralel Gerçekliği
- Hataları Geri Alıyoruz: restore, reset, revert — Doğru ve Tehlikeli Kullanımları
- GitHub ve Uzaktaki Depolar: Kodunuz Bulutta
- Takım Çalışması: Fork'lar, Özellik Dalları ve Pull Request'ler
- Birleştirme Çakışmaları: Panik Yapmayın — Anlayın ve Çözün
- Gerçek Ekiplerde Git Süreçleri: Hangi İş Akışı Seçilmeli
- Gelişmiş Araçlar: rebase, stash, cherry-pick ve etiketler
- Final Proje: Gerçek Ekip Çalışmasını Simüle Ediyoruz