
Git ile Versiyon Kontrolü: Başlangıç Seviyesi Rehber

Git, yazılım projelerindeki değişiklikleri takip etmeyi ve farklı sürümler üzerinde çalışmayı sağlayan bir versiyon kontrol sistemidir. Bu rehberde Git’in ne olduğunu, temel komutlarını, branch kullanımını ve projelerde Git ile nasıl çalışılacağını adım adım öğreneceksin.
Git nedir?
Git, dosyalarda yapılan değişiklikleri kaydetmek ve proje geçmişini takip etmek için kullanılan dağıtık bir versiyon kontrol sistemidir. Özellikle yazılım geliştirme süreçlerinde kodun farklı sürümlerini yönetmeyi kolaylaştırır.
Git sayesinde bir dosyada yapılan değişikliklerin ne zaman ve kim tarafından gerçekleştirildiği takip edilebilir. Gerektiğinde projenin önceki bir sürümüne dönmek de mümkündür.
Git, merkezi bir sunucuya sürekli bağlı kalmayı gerektirmez. Projenin Git geçmişi geliştiricinin bilgisayarında tutulduğu için birçok işlem yerel olarak gerçekleştirilebilir.
Git ne için kullanılır?
Git, tek başına çalışan geliştiricilerden büyük yazılım ekiplerine kadar farklı çalışma biçimlerine uyarlanabilir. Temel amacı, projedeki değişiklikleri düzenli ve takip edilebilir hale getirmektir.
Git kullanımının öne çıkan amaçları şunlardır:
- Dosyalardaki değişiklikleri takip etmek
- Projenin geçmiş sürümlerini görüntülemek
- Hatalı değişiklikleri geri almak
- Aynı proje üzerinde ekip halinde çalışmak
- Farklı özellikleri birbirinden bağımsız geliştirmek
- Değişiklikleri karşılaştırmak ve birleştirmek
Git nasıl kurulur?
Git’i kullanmaya başlamadan önce bilgisayara Git kurulması gerekir. Git, Windows, macOS ve Linux gibi yaygın işletim sistemlerinde kullanılabilir.
Kurulum sonrasında terminal veya komut satırı üzerinden Git komutları çalıştırılabilir. Kurulumun doğru yapıldığını kontrol etmek için aşağıdaki komut kullanılabilir:
git --version
Komut, bilgisayarda yüklü olan Git sürümünü gösterir. Bir sürüm numarası görünüyorsa Git kullanıma hazırdır.
Git repository nedir?
Repository veya kısaca repo, Git tarafından takip edilen proje alanıdır. Projenin dosyaları, yapılan değişiklikler ve commit adı verilen kayıtlar bu yapı içerisinde yönetilir.
Yeni bir proje için Git repository oluşturmak oldukça kolaydır. Proje klasörünün içerisinde terminal açılarak şu komut çalıştırılabilir:
git init
Bu komut, mevcut klasörü Git tarafından takip edilen bir repository haline getirir.
Git ile proje nasıl başlatılır?
Git repository oluşturduktan sonra dosyaların değişikliklerini takip etmeye başlayabilirsin. Bunun için öncelikle Git’in proje içerisindeki dosyaların durumunu görmesi sağlanır.
git status
git status, çalışma alanındaki değişiklikleri gösterir. Yeni oluşturulan, değiştirilen veya Git tarafından henüz kaydedilmemiş dosyalar bu komutla kontrol edilebilir.
Bir dosyayı Git'in bir sonraki kaydına hazırlamak için git add kullanılır:
git add index.html
Birden fazla dosyayı aynı anda eklemek için:
git add .
Buradaki nokta, mevcut dizindeki uygun değişikliklerin staging alanına eklenmesini sağlar.
Git commit nedir?
Commit, projede yapılan değişikliklerin belirli bir noktadaki kaydıdır. Başka bir ifadeyle commit, üzerinde çalıştığın projenin geçmişine eklenen anlamlı bir kilometre taşıdır.
Değişiklikler git add ile staging alanına alındıktan sonra commit oluşturulabilir:
git commit -m "Ana sayfa tasarımı güncellendi"
Commit mesajının yapılan değişikliği açıkça ifade etmesi önemlidir. Böylece proje geçmişi incelendiğinde hangi değişikliğin ne zaman yapıldığı daha kolay anlaşılır.
Git log nasıl kullanılır?
Projede daha önce oluşturulan commit kayıtlarını görmek için git log komutu kullanılır:
git log
Bu komut commit geçmişini listeler. Commit mesajı, oluşturulma zamanı ve commit'i oluşturan kişi gibi bilgiler görüntülenebilir.
Daha kısa bir geçmiş görünümü için şu komut tercih edilebilir:
git log --oneline
Özellikle çok sayıda commit bulunan projelerde bu görünüm geçmişi daha kolay incelemeye yardımcı olur.
Git branch nedir?
Branch, aynı proje içerisinde birbirinden bağımsız bir çalışma alanı oluşturmayı sağlar. Örneğin ana projeyi doğrudan değiştirmek yerine yeni bir özellik için ayrı bir branch oluşturabilirsin.
Bu yaklaşım, geliştirilen özelliğin ana koddan ayrı tutulmasına yardımcı olur. Özellik tamamlandığında değişiklikler ana branch ile birleştirilebilir.
Yeni bir branch oluşturmak için:
git branch yeni-ozellik
Branch oluşturup doğrudan ona geçmek için ise:
git switch -c yeni-ozellik
Mevcut branch'leri görmek için:
git branch
Git branch nasıl değiştirilir?
Farklı bir branch üzerinde çalışmak için git switch komutu kullanılabilir:
git switch yeni-ozellik
Daha eski Git kullanımında branch değiştirmek için git checkout komutuyla da karşılaşabilirsin. Güncel kullanımda branch işlemleri için git switch komutunun kullanılması daha anlaşılır bir yaklaşım sunar.
Branch'ler özellikle ekip çalışmalarında farklı özelliklerin aynı proje içerisinde düzenli şekilde geliştirilmesine yardımcı olur.
Git merge nedir?
Merge, bir branch'teki değişiklikleri başka bir branch ile birleştirmek için kullanılır. Örneğin yeni bir özelliği yeni-ozellik branch'inde tamamladıktan sonra bunu ana branch'e aktarabilirsin.
Öncelikle ana branch'e geçilir:
git switch main
Ardından ilgili branch birleştirilir:
git merge yeni-ozellik
Git, değişiklikleri uygun şekilde birleştirmeye çalışır. Aynı satırlarda farklı değişiklikler yapıldıysa çözülmesi gereken bir conflict ortaya çıkabilir.
Git conflict nedir?
Conflict, Git'in iki farklı değişikliği otomatik olarak birleştiremediği durumdur. Genellikle iki branch'te aynı dosyanın aynı bölümünde farklı değişiklikler yapıldığında ortaya çıkar.
Conflict oluştuğunda Git, ilgili dosyayı işaretler. Geliştirici dosyayı inceleyerek hangi değişikliğin korunacağına karar verir.
Çakışma giderildikten sonra dosya tekrar staging alanına eklenir ve yeni bir commit oluşturulur. Bu nedenle conflict, Git kullanımında karşılaşılabilecek normal bir çalışma durumudur.
GitHub nedir ve Git ile ilişkisi nedir?
Git ve GitHub aynı şey değildir. Git, versiyon kontrol sistemidir. GitHub ise Git repository'lerini internet üzerinde barındırmaya ve ekiplerin birlikte çalışmasına yardımcı olan bir platformdur.
Bir Git repository'si GitHub gibi uzak bir platforma gönderilebilir. Böylece proje koduna farklı bilgisayarlardan erişmek ve ekip arkadaşlarıyla çalışmak kolaylaşır.
Uzak repository'yi projeye bağlamak için örneğin şu komut kullanılabilir:
git remote add origin <repository-url>
Değişiklikleri uzak repository'ye göndermek için ise:
git push origin main
Uzak repository'deki güncel değişiklikleri almak için:
git pull
Git öğrenirken hangi komutlar bilinmeli?
Git'te yüzlerce farklı seçenek bulunmasına rağmen başlangıç seviyesinde belirli komutları öğrenmek günlük çalışmalar için yeterli bir temel oluşturur.
| Komut | Kullanım amacı |
|---|---|
git init | Yeni repository oluşturur |
git status | Değişikliklerin durumunu gösterir |
git add | Değişiklikleri staging alanına ekler |
git commit | Değişiklikleri kaydeder |
git log | Commit geçmişini gösterir |
git branch | Branch'leri görüntüler ve yönetir |
git switch | Branch değiştirir |
git merge | Branch'leri birleştirir |
git push | Değişiklikleri uzak repository'ye gönderir |
git pull | Uzak repository'deki değişiklikleri alır |
Git öğrenmenin en etkili yollarından biri bu komutları küçük bir proje üzerinde düzenli olarak kullanmaktır. Komutların ne yaptığını ezberlemek yerine hangi problemi çözdüğünü anlamak, Git kullanımını daha anlaşılır hale getirir.
Git, yazılım geliştirme süreçlerinde değişiklikleri takip etmek, proje geçmişini korumak ve ekip çalışmasını kolaylaştırmak için kullanılan temel araçlardan biridir. init, add, commit, branch, merge, push ve pull gibi komutları öğrendikten sonra daha gelişmiş Git özelliklerine geçebilirsin.



