sitetasarimtr_logo
Yükleniyor

Bilgi Merkezi / Git Versiyon Kontrol

Git Versiyon Kontrol Nedir? Temel Komutlar ve Kullanım Rehberi

Giriş

Git, yazılım geliştirme projelerinde dosya değişikliklerini takip etmek için kullanılan dağıtık bir versiyon kontrol sistemidir. Linus Torvalds tarafından 2005 yılında Linux çekirdek geliştirme sürecini yönetmek için oluşturulan Git, günümüzde modern yazılım geliştirmenin vazgeçilmez bir parçası haline gelmiştir.

Bu rehberde, Git'in ne olduğunu, nasıl çalıştığını, temel komutlarını ve ekip çalışmasındaki önemini adım adım ele alacağız.

Git Neden Önemlidir?

Git, yazılım geliştiriciler için proje geçmişini kaydetme, farklı sürümleri yönetme, ekip üyeleriyle işbirliği yapma ve hataları geri alma imkanı sunar. Özellikle büyük projelerde ve ekip çalışmalarında, değişiklik takibi ve kod yönetimi için kritik öneme sahiptir. Git olmadan, proje dosyalarının farklı versiyonlarını manuel olarak yönetmek neredeyse imkansızdır.

Git Versiyon Kontrol Nedir başlığını temsil eden, branch ağacı ve terminal ekranında Git komutlarını gösteren görsel

Git: Modern Yazılım Geliştirmenin Temel Taşı

Git Nasıl Çalışır? Temel Kavramlar

Git, dosya değişikliklerini snapshot'lar (anlık görüntüler) şeklinde kaydeder ve bu snapshot'lar arasındaki farkları takip eder. İşte Git'in çalışma prensibini anlamak için temel kavramlar:

  1. Repository (Depo): Proje dosyalarının ve versiyon geçmişinin saklandığı alan
  2. Commit: Dosya değişikliklerinin kalıcı olarak kaydedildiği işlem
  3. Branch (Dal): Ana projeden bağımsız geliştirme yapılabilen paralel kopyalar
  4. Merge (Birleştirme): Farklı branch'lerdeki değişiklikleri birleştirme işlemi
  5. Remote (Uzak Depo): GitHub, GitLab gibi platformlarda bulunan merkezi depo

Temel Git Komutları ve Kullanımı

Git'i etkili bir şekilde kullanmak için temel komutları öğrenmek şarttır. İşte en sık kullanılan Git komutları:

Depo Yönetimi Komutları

# Yeni bir Git deposu oluştur
$ git init
# Uzaktaki bir depoyu yerel makineye kopyala
$ git clone https://github.com/kullanici/proje.git
# Uzak depoyu yerel depo ile ilişkilendir
$ git remote add origin https://github.com/kullanici/proje.git

Değişiklik Takip Komutları

# Değişiklikleri kontrol et
$ git status
# Değişiklikleri staging area'ya ekle
$ git add dosya_adi
$ git add . # Tüm değişiklikleri ekle
# Değişiklikleri commit et
$ git commit -m "Commit mesajı"

Branch Yönetimi Komutları

# Branch'leri listele
$ git branch
# Yeni branch oluştur
$ git branch yeni-ozellik
# Branch değiştir
$ git checkout yeni-ozellik
$ git switch yeni-ozellik # Yeni versiyon
# Branch'leri birleştir
$ git merge yeni-ozellik

Uzak Depo İşlemleri

# Uzak depoya gönder
$ git push origin main
# Uzak depodan çek
$ git pull origin main
# Uzak branch'i takip et
$ git push -u origin yeni-ozellik

Git Branch Stratejileri ve Ekip Çalışması

Ekip halinde çalışırken etkili bir branch stratejisi kullanmak çok önemlidir. İşte yaygın kullanılan branch stratejileri:

Git Flow Stratejisi

  • main/master: Kararlı sürüm, production kodu
  • develop: Geliştirme branch'i, bir sonraki sürüm için
  • feature/: Yeni özellikler için (feature/login-page)
  • release/: Yayın hazırlığı için
  • hotfix/: Acil düzeltmeler için

GitHub Flow Stratejisi

  • main: Her zaman deploy edilebilir durumda
  • feature/: Yeni özellikler için branch'ler
  • Pull Request: Kod incelemesi ve test için
  • Merge: Testler başarılı olduktan sonra main'e birleştirme

Commit Mesajı En İyi Uygulamaları

Anlamlı commit mesajları yazmak, proje geçmişini okunabilir kılar:

  • Konvansiyonel Commits: feat:, fix:, docs:, style:, refactor:, test:, chore:
  • Başlık: 50 karakteri geçmeyen, açıklayıcı başlık
  • Açıklama: Ne değişti ve neden değişti?
  • Referans: İlgili issue veya ticket numaraları

feat: kullanıcı giriş sayfası eklendi

- E-posta ve şifre ile giriş formu eklendi
- Form validasyonları implement edildi
- Hata mesajları için toast bildirimleri eklendi

Closes #123
          

Git İçin Araçlar ve Platformlar

  • GitHub: Açık kaynak ve özel projeler için popüler platform
  • GitLab: CI/CD ve DevOps özellikleri ile kapsamlı çözüm
  • Bitbucket: Atlassian ekosistemi ile entegre
  • SourceTree: Git için görsel arayüz (GUI)
  • GitKraken: Gelişmiş Git GUI aracı
  • VS Code Git Entegrasyonu: IDE içi Git yönetimi

Sıkça Sorulan Sorular (FAQ)

Git ve GitHub arasındaki fark nedir?

Git, versiyon kontrol sisteminin kendisidir. GitHub ise Git depolarını barındıran ve ekip çalışması için araçlar sunan bir web platformudur.


Commit ve push arasındaki fark nedir?

Commit, değişiklikleri yerel depoda kaydeder. Push ise bu commit'leri uzak depoya (GitHub vb.) gönderir.


Merge conflict nedir ve nasıl çözülür?

Merge conflict, iki branch'de aynı dosyanın aynı satırında farklı değişiklikler olduğunda oluşur. Çözüm için conflict'leri manuel olarak düzenleyip, çözümlenmiş dosyaları commit etmek gerekir.

Sonuç

Git, modern yazılım geliştirme süreçlerinin temel taşıdır. Hem bireysel projelerde hem de ekip çalışmalarında, kod değişikliklerini takip etmek, farklı sürümleri yönetmek ve işbirliği yapmak için vazgeçilmez bir araçtır. Temel Git komutlarını öğrenmek ve etkili branch stratejileri uygulamak, profesyonel yazılım geliştirme kariyerinizde büyük fark yaratacaktır. Site Tasarım TR olarak, Git ve versiyon kontrol sistemleri konusunda eğitim ve danışmanlık hizmetleri sunuyoruz. Git kullanımınızı geliştirmek için bizimle iletişime geçin.

Diğer İçerikler

Web Araçları