Git Kullanımı Rehberi: Versiyon Kontrol Sistemini Sıfırdan Öğrenin (2026)

Git, dünya genelindeki yazılım geliştiricilerin kullandığı en popüler versiyon kontrol sistemidir. Stack Overflow‘un 2025 Geliştirici Anketi’ne göre, profesyonel geliştiricilerin %93’ü versiyon kontrolü için Git kullanmaktadır ve bu oran 2018’de %87 idi (Stack Overflow Developer Survey, 2025). İster tek başınıza bir proje geliştirin, ister binlerce kişilik bir takımda yer alın, Git kodunuzu güvenle yönetmenizi sağlar. Bu kapsamlı rehberde, Git’in temellerinden ileri düzey kullanımına kadar her şeyi adım adım inceleyeceğiz.

Konu İçeriği
Git Nedir ve Neden Gereklidir?
Git, 2005 yılında Linux çekirdeği geliştiricileri için Linus Torvalds tarafından oluşturulmuş dağıtılmış bir versiyon kontrol sistemidir. Dağıtılmış (distributed) olması, her geliştiricinin projenin tam bir kopyasını bilgisayarında bulundurması anlamına gelir. Merkezi sunucuya bağlanmadan geçmişe dönebilir, dallar (branch) oluşturabilir ve değişiklikleri takip edebilirsiniz.
Neden Git kullanmalısınız? Çünkü kod kaybetmek, yanlışlıkla dosya üzerine yazmak ve “son çalışan versiyon” klasörü kabusu yaşamak tarih olur. Git ile her değişiklik zaman damgalı olarak kaydedilir; istediğiniz an herhangi bir noktaya dönebilirsiniz. GitHub‘un 2025 verilerine göre, platformda 100 milyondan fazla geliştirici ve 420 milyondan fazla depo (repository) bulunmaktadır (GitHub Octoverse Report, 2025).
Git Kurulumu ve İlk Yapılandırma
Git’i kullanmaya başlamak için öncelikle bilgisayarınıza kurmanız gerekir. Windows için git-scm.com adresinden indiriciyi kurun. macOS’ta terminalde brew install git veya Xcode Command Line Tools ile kurabilirsiniz. Linux’ta sudo apt install git (Ubuntu/Debian) veya sudo dnf install git (Fedora) komutlarını kullanın.
Kurulumdan sonra ilk yapılması gereken yapılandırma:
git config --global user.name "Adınız Soyadınız" git config --global user.email "[email protected]" git config --global init.defaultBranch main
Bu komutlar, commit (kayıt) mesajlarında görünecek adınızı ve e-postanızı belirler. init.defaultBranch main ise yeni depolarda varsayılan dal adını “main” olarak ayarlar; eski sürümlerde bu “master” idi.
Temel Git Komutları: Günlük Kullanım
Git kullanımının %80’i şu beş komutla karşılanır:
1. git init Yeni bir Git deposu oluşturur. Proje klasörünüzde bir kez çalıştırılır ve .git gizli klasörünü oluşturur.
2. git add Değiştirilmiş dosyaları sahneliğe (staging area) ekler. Belirli dosya için git add dosya.js, tümü için git add . kullanın.
3. git commit Sahnelenen değişiklikleri kalıcı olarak kaydeder. Her commit benzersiz bir kimliğe (hash) sahiptir. İyi bir commit mesajı yazmak kritik önemdedir: Ne değiştiğini ve nedenini kısaca açıklayın.
git commit -m "Kullanıcı giriş doğrulama fonksiyonu eklendi"
4. git push Yerel commit’leri uzak depoya (GitHub, GitLab vb.) gönderir. git push origin main komutu, main dalındaki değişiklikleri origin adlı uzak depoya iletir.
5. git pull Uzak depodaki değişiklikleri yerel deponuza çeker ve birleştirir. Takım çalışmalarında günün başında ve sonunda kullanılması önerilir.

Branch (Dal) ve Merge (Birleştirme) Mantığı
Branch’ler, Git’in en güçlü özelliğidir. Ana kodu etkilemeden yeni bir özellik geliştirebilir, deneyler yapabilir veya hata düzeltmeleri uygulayabilirsiniz. Atlassian‘ın 2024 verilerine göre, profesyonel ekiplerde ortalama bir projede 15-30 aktif branch bulunmaktadır (Atlassian Developer Productivity Report, 2024).
git branch ozellik-yeni # Yeni dal oluştur git checkout ozellik-yeni # Dala geç git checkout -b ozellik-yeni # Oluştur ve geç (tek komut) # Çalışma bittikten sonra: git checkout main # Ana dala dön git merge ozellik-yeni # Dalı ana dala birleştir
Birleştirme sırasında çakışma (merge conflict) oluşabilir. Bu, aynı satırı iki farklı dalda değiştirdiğinizde ortaya çıkar. Git dosyayı işaretler; manuel olarak çakışmayı çözmeniz ve git add + git commit ile tamamlayabilirsiniz.
Git Flow ve Çalışma Stratejileri
Ekipler için en yaygın çalışma modelleri:
Feature Branch Workflow: Her yeni özellik için ayrı branch açılır. Tamamlandığında pull request (PR) ile ana dala birleştirilir. Kod incelemesi (code review) zorunludur. GitHub’ın 2025 verilerine göre, pull request kullanan ekipler %40 daha az hata üretmektedir (GitHub Engineering Productivity, 2025).
GitFlow: main (prodüksiyon), develop (geliştirme), feature, release ve hotfix dallarının bulunduğu yapısal model. Büyük projeler ve sürüm yönetimi için uygundur.
Trunk-Based Development: Tüm geliştiricilerin tek bir dalda (main/trunk) çalıştığı, kısa yaşam süreni branch’ler kullanan model. Sürekli entegrasyon (CI/CD) ile uyumludur. Google ve Facebook bu yaklaşımı kullanmaktadır.
Git ile İlgili Yaygın Hatalar ve Çözümleri
“Commit’i yanlış yaptım”: git commit --amend -m "Doğru mesaj" ile son commit mesajını değiştirebilirsiniz. Henüz push yapmadıysanız bu güvenlidir.
“Yanlış dosya ekledim”: git reset HEAD dosya.js ile sahnelikten çıkarabilirsiniz. Değişiklikler dosyada kalır, sadece sahnelikten kalkar.
“Her şey bozuldu, geri dönmek istiyorum”: git reflog ile tüm hareketlerinizi görebilir ve git reset --hard <hash> ile herhangi bir noktaya dönebilirsiniz. Bu güçlü ama dikkatli kullanılması gereken bir komuttur; push edilmemiş yerel değişiklikleri siler.
.gitignore Dosyası Neden Önemli?
.gitignore dosyası, Git’in takip etmemesini istediğiniz dosyaları belirtir. Node.js projelerinde node_modules/, Python’da __pycache__/ ve .env, macOS’ta .DS_Store yaygın .gitignore girdileridir. GitHub, her dil ve framework için hazır .gitignore şablonları sunmaktadır (github.com/github/gitignore).
Özellikle API anahtarları ve şifreler içeren .env dosyalarını asla Git’e commitlememelisiniz. GitGuardian‘ın 2025 raporuna göre, GitHub’da günlük ortalama 5.000’den fazla sır (secret) sızıntısı tespit edilmektedir (GitGuardian State of Secrets Sprawl, 2025). Bir kez commitlenen sır, sonradan silinse bile Git geçmişinde kalır.
Sonuç: Git, Modern Yazılımın Alfabesidir
Git öğrenmek, yazılım kariyerinizde atacağınız en kârlı adımlardan biridir. Stack Overflow verilerine göre geliştiricilerin %93’ü Git kullanmaktadır ve bu oran her geçen yıl artmaktadır. Başlangıçta komutlar karmaşık gelebilir, ancak günlük kullanımda 5-6 temel komut yeterlidir. Önemli olan tutarlı commit mesajları yazmak, branch stratejisi belirlemek ve .gitignore dosyasını doğru yapılandırmaktır.
Sıkça Sorulan Sorular
Git ve GitHub arasındaki fark nedir?
Git, bilgisayarınızda çalışan bir versiyon kontrol aracıdır. GitHub ise Git depolarını barındıran bulut tabanlı bir platformdur. Git olmadan GitHub olmaz, ancak GitHub olmadan da Git kullanılabilir (GitLab, Bitbucket gibi alternatifler de vardır). GitHub’da 100 milyondan fazla geliştirici bulunmaktadır (GitHub Octoverse, 2025).
Git öğrenmesi zor mu?
Temel seviyede hayır. Beş temel komut (init, add, commit, push, pull) günlük kullanımın %80’ini karşılar. Branch, merge ve conflict çözümü birkaç haftalık pratikle öğrenilir. İleri düzey konular (rebase, cherry-pick, bisect) için ise proje deneyimi gereklidir.
Commit mesajı nasıl yazılmalı?
Kısa (50 karakter altı), açıklayıcı ve emir kipinde yazın. İyi: “Kullanıcı şifre sıfırlama fonksiyonu eklendi.” Kötü: “Güncelleme” veya “fix”. Conventioneel Commit standardı (feat:, fix:, docs: gibi prefixler) ekip çalışmalarında yaygın olarak kullanılmaktadır.
Git GUI araçları mı, terminal mi kullanmalıyım?
Terminal komutları öğrenmek uzun vadede daha faydalıdır; ancak VS Code’un Git entegrasyonu, GitKraken veya Sourcetree gibi GUI araçları da güvenlidir. Profesyonel ortamlarda terminal bilgisi beklenmektedir. Her iki yaklaşımı da öğrenmek idealdir.


