
Yazılımda Versiyon Kontrol Sistemleri: Git ve GitHub Kullanımı
Günümüzde yazılım geliştirme süreçlerinde versiyon kontrol sistemlerinin kullanımı büyük bir önem taşır. Özellikle ekip halinde çalışırken, kod değişikliklerinin takip edilmesi ve yönetilmesi için Git ve GitHub gibi araçlar vazgeçilmezdir. Peki, bu araçlar tam olarak nedir ve nasıl kullanılır?
Versiyon Kontrol Sistemi Nedir?
Versiyon kontrol sistemi (VCS), yazılım projelerinde yapılan değişikliklerin izlenmesine ve yönetilmesine olanak tanır. Bu sistemler sayesinde bir dosyanın zaman içindeki tüm değişiklikleri kaydedilir ve istenildiğinde eski sürümlere dönmek mümkün olur.
Versiyon kontrol sistemleri ikiye ayrılır:
- Merkezi versiyon kontrol sistemleri (CVCS): Tüm kod tek bir sunucuda saklanır ve geliştiriciler bu sunucudan dosyaları çeker. Örneğin: Subversion (SVN), Perforce.
- Dağıtık versiyon kontrol sistemleri (DVCS): Geliştiriciler projenin tam bir kopyasını kendi makinelerine indirir. Git ve Mercurial bu gruba girer.
En yaygın kullanılan dağıtık versiyon kontrol sistemi Git’tir.
Git Nedir?
Git, bir dağıtık versiyon kontrol sistemidir ve Linus Torvalds tarafından 2005 yılında geliştirilmiştir. Git sayesinde kod değişiklikleri izlenir, proje dosyalarının her bir sürümü saklanır, farklı dallar (branch) oluşturularak ekip üyeleri birbirinden bağımsız çalışabilir ve yapılan değişiklikler birleştirilebilir (merge).
Git’in Çalışma Mantığı
Git’in temel yapısı üç ana bileşenden oluşur:
1. Çalışma alanı (working directory): Dosyaların bulunduğu ve değişikliklerin yapıldığı alan.
2. Hazırlık alanı (staging area): Commit edilmeden önce değişikliklerin eklendiği alan.
3. Depo (repository): Yapılan commit'lerin saklandığı yer.
Bu yapı sayesinde Git, değişiklikleri takip eder ve geri dönülebilir bir kod geçmişi oluşturur.
Git’in Temel Komutları
Komut Açıklaması:
• git init: Yeni bir Git deposu oluşturur.
• git clone [repo_url]: Var olan bir projeyi bilgisayara kopyalar.
• git add [dosya_adi]: Dosyaları hazırlık alanına (staging area) ekler.
• git commit -m "Açıklama": Yapılan değişiklikleri kaydeder.
• git push: Değişiklikleri uzak depoya gönderir.
• git pull: Uzak depodan güncel dosyaları çeker.
• git status: Çalışma alanındaki değişiklikleri gösterir.
• git log: Yapılan commit'leri listeler.
• git branch [dal_adi]: Yeni bir dal oluşturur.
• git checkout [dal_adi]: Belirtilen dala geçiş yapar.
• git merge [dal_adi]: Seçilen dalı mevcut dala birleştirir.
Branch (Dal) Yönetimi ve Takım Çalışması
Git’te branch sistemi, ekip çalışmalarında büyük bir kolaylık sağlar.
- Ana dal (main/master) genellikle stabil ve çalışabilir kodları içerir.
- Özellik dalları (feature branches), yeni bir özellik eklenirken oluşturulur.
- Geliştirme dalları (develop branches), test ve geliştirme sürecine ayrılır.
GitHub Nedir?
GitHub, Git’in bulut tabanlı bir versiyonudur ve projelerinizi çevrimiçi depolamanıza, paylaşmanıza ve iş birliği yapmanıza olanak tanır.
GitHub’ın sunduğu bazı özellikler şunlardır:
- Repositories (Depolar): Projelerinizin saklandığı yer.
- Pull Request: Değişikliklerin gözden geçirilmesi ve birleştirilmesi için kullanılır.
- Issues: Projedeki hataları ve önerileri takip etmek için kullanılır.
- Fork: Bir projeyi kopyalayarak üzerinde bağımsız çalışmanızı sağlar.
GitHub’ın Gelişmiş Kullanımı
GitHub’ın sunduğu ek özellikler şunlardır:
- GitHub Actions: CI/CD süreçlerini otomatikleştirmek için kullanılır.
- GitHub Pages: Açık kaynak projeleri için ücretsiz olarak web sitesi yayınlamaya imkan tanır.
- GitHub Copilot: Yapay zeka destekli kod önerileri sunar.
Gerçek Hayatta Git ve GitHub Kullanımı
Git ve GitHub, sadece teorik bilgilerden ibaret değildir; gerçek projelerde aktif olarak kullanılır. İşte bazı kullanım senaryoları:
1. Ekip Çalışması
Birden fazla geliştirici aynı proje üzerinde çalışırken her geliştirici kendi dalında çalışabilir, kod değişiklikleri incelenip test edildikten sonra ana dala eklenir ve çakışmalar yaşandığında merge conflict yönetimi ile çözüm sağlanır.
2. Açık Kaynak Projeler
GitHub, açık kaynak projelerin geliştirilmesi için kullanılır. Başkalarının projelerine katkıda bulunmak için fork ve pull request sistemleri vardır.
3. Kendi Projelerinizi Paylaşmak
GitHub profili, yazılımcılar için bir portföy niteliği taşır. İş başvurularında GitHub üzerindeki projeleriniz değerlendirilebilir.
Git ve GitHub Kullanımı Neden Önemlidir?
- Takım çalışmasını kolaylaştırır: Aynı projede birden fazla geliştiricinin çalışmasına olanak tanır.
-Değişiklikleri takip etmeyi sağlar: Kodun kim tarafından, ne zaman ve nasıl değiştirildiğini gösterir.
- Hataları geri almayı kolaylaştırır: Yanlışlıkla yapılan değişiklikler eski sürümlere dönülerek düzeltilir.
- Portföy oluşturmada yardımcı olur: GitHub profili, projelerinizi işverenlere göstermek için harika bir araçtır.
Sonuç :
Git ve GitHub, yazılım geliştiriciler için olmazsa olmaz araçlardır. Kodunuzu
yönetmek, takip etmek ve iş birliği yapmak için bu araçları kullanmak hem
bireysel hem de ekip çalışmalarında verimliliği artırır. Özellikle yazılım
kariyerinde ilerlemek isteyen herkesin Git ve GitHub kullanımını öğrenmesi
büyük bir avantaj sağlar.
Bu yazıda, Git ve GitHub’ın ne olduğunu ve nasıl kullanıldığını inceledik. Bir
sonraki adım, kendi projelerinizi oluşturarak bu bilgileri pratiğe dökmek
olacaktır
Yönetim Bilişim Sistemleri
Buse ALTUNTAŞ
0 Yorumlar