Geçen ay bir müşterimle çalışırken yaşadığım deneyim, bu yazıyı kaleme almama ilham verdi. İki yıllık bir e-ticaret projesinin kaynak kodları, yedeklemeler ve farklı versiyonlar arasında kaybolmuştu. Hangi dosyanın en son versiyon olduğu, kimin ne değişiklik yaptığı, neden yaptığı belirsizdi. Bu tam anlamıyla bir kabus senaryosuydu. İşte bu noktada Git ve GitHub’ın önemi bir kez daha ortaya çıktı.

Web geliştirme dünyasında çalışıyorsanız, projelerinizin düzenli, takip edilebilir ve güvende olması kritik öneme sahip. Yalnızca bireysel çalışanlar için değil, ekipler için de versiyon kontrolü artık bir lüks değil, temel bir ihtiyaç. Bugün web geliştirme süreçlerinde Git ve GitHub kullanımının neden vazgeçilmez hale geldiğini ve bu araçların size nasıl zaman kazandırıp, projelerinizi daha güvenli hale getireceğini detaylıca inceleyeceğiz.
Git Nedir ve Neden Bu Kadar Önemli?
Git, 2005 yılında Linus Torvalds tarafından Linux çekirdeğinin geliştirilmesi için oluşturulan, dağıtık bir versiyon kontrol sistemidir. Ancak bugün sadece büyük yazılım projeleri için değil, tek kişilik web projelerinden kurumsal uygulamalara kadar her ölçekteki geliştirme sürecinde kullanılıyor.
Temel olarak Git, projenizin zaman içindeki değişimini kaydetmenizi, bu değişimlere istediğiniz zaman geri dönebilmenizi ve paralel geliştirme süreçlerini yönetebilmenizi sağlar. WordPress temalarınızda, eklentilerinizde veya özel web uygulamalarınızda yaptığınız her değişikliği takip edebilir, gerektiğinde önceki versiyonlara kolayca dönebilirsiniz.
Git’in web geliştirmede sunduğu başlıca avantajlar şunlardır:
- Değişikliklerin takibi: Kodunuzdaki her değişiklik, kim tarafından, ne zaman yapıldığı bilgisiyle birlikte kaydedilir.
- Paralel geliştirme: Branch (dal) sistemi sayesinde ana kodunuzu bozmadan yeni özellikler geliştirebilirsiniz.
- Çakışmaların yönetimi: Aynı dosya üzerinde farklı geliştiricilerin yaptığı değişiklikleri akıllıca birleştirmenizi sağlar.
- Dağıtık yapı: Her geliştiricinin bilgisayarında projenin tam tarihçesi bulunur, böylece internet bağlantısı olmadan da çalışabilirsiniz.
GitHub: Git’in Sosyal ve İşbirlikçi Yüzü
GitHub, Git üzerine inşa edilmiş, kod paylaşımını ve işbirliğini kolaylaştıran web tabanlı bir platformdur. 2008’de kurulmuş ve 2018’de Microsoft tarafından satın alınmıştır. Bugün 100 milyondan fazla kod deposu (repository) barındırmaktadır ve dünya çapında milyonlarca geliştirici tarafından kullanılmaktadır.

Web geliştirme süreçlerinizde GitHub kullanmanın sağlayacağı faydalar sayısızdır. Özellikle WordPress temaları ve eklentileri geliştirirken, ekip çalışmasını koordine ederken GitHub vazgeçilmez bir araç haline gelir.
GitHub’ın web geliştiricilere sunduğu temel özellikler:
- Uzak depo (Remote repository): Kodunuzu güvenli bir şekilde bulutta saklayabilir ve istediğiniz cihazdan erişebilirsiniz.
- İşbirliği araçları: Pull request’ler ile kod incelemesi yapabilir, değişiklikler üzerinde tartışabilirsiniz.
- Sorun takibi (Issue tracking): Projenizde çıkan hataları, yapılması gereken geliştirmeleri takip edebilirsiniz.
- Wiki ve dokümantasyon: Projenizin kullanımı ve geliştirme standartları için dokümantasyon oluşturabilirsiniz.
- GitHub Actions: Otomatik test, dağıtım ve diğer CI/CD süreçlerini kolayca entegre edebilirsiniz.
Web Geliştiriciler İçin Git ve GitHub Kurulum Süreci
Git ve GitHub’ı web geliştirme iş akışınıza dahil etmek sanıldığından çok daha kolaydır. Aşağıda temel kurulum ve başlangıç adımlarını bulabilirsiniz:
- Git’i yükleme: İşletim sisteminize uygun Git sürümünü git-scm.com adresinden indirip kurabilirsiniz.
- GitHub hesabı oluşturma: GitHub web sitesinden ücretsiz bir hesap oluşturun.
- Temel Git ayarlarını yapma: Terminal veya komut istemcisinde şu komutları çalıştırın:
git config --global user.name "Adınız Soyadınız"
git config --global user.email "[email protected]"
- Kimlik doğrulama ayarları: GitHub ile güvenli bir şekilde çalışmak için SSH anahtarı oluşturmak veya kişisel erişim tokenı kullanmak önerilir.
Basit bir web projesini Git ve GitHub ile yönetmeye başlamak için aşağıdaki adımları izleyebilirsiniz:
- Lokal repo oluşturma: Projenizin klasöründe:
cd proje-klasoru git init
- Dosyaları izlemeye alma ve ilk commit:
git add . git commit -m "İlk commit: Temel dosyalar eklendi"
- GitHub’da repo oluşturma: GitHub web sitesinden “New repository” ile yeni bir repo oluşturun.
- Yerel repoyu uzak repoya bağlama:
git remote add origin https://github.com/kullanici_adiniz/repo-adi.git git push -u origin master
Web Geliştirme İş Akışında Git Kullanım Stratejileri
Git’i web geliştirme projelerinizde verimli kullanmak için bazı stratejiler ve best practice’ler var. Bunlar, özellikle WordPress geliştirme ve diğer web projelerinde hayat kurtarıcı olabilir.
Branch (Dal) Stratejileri
Gelişmiş web projelerinde, genellikle “Git Flow” veya “GitHub Flow” gibi dal stratejileri kullanılır. Basit bir dal stratejisi şöyle olabilir:
- master/main: Canlı ortama dağıtıma hazır, stabil kod.
- develop: Geliştirme sürecindeki kod, yeni özelliklerin birleştirildiği dal.
- feature/özellik-adı: Yeni özellikler için oluşturulan dallar.
- bugfix/hata-adı: Hata düzeltmeleri için oluşturulan dallar.
Bu yaklaşım, WordPress temaları veya e-ticaret projeleri gibi sürekli geliştirilen web projelerinde düzeni sağlar ve riski azaltır.
Commit Mesajları ve Kod İncelemesi
İyi bir web geliştirme ekibinde, commit mesajları son derece önemlidir. Her commit mesajı:
- Kısa ve açıklayıcı bir başlık içermeli
- Gerektiğinde detaylı açıklamalar sunmalı
- Neden bu değişikliğin yapıldığını açıklamalı
Örnek bir iyi commit mesajı:
Mobil menü düzeltmesi: Dokunma alanı genişletildi - Menü butonunun dokunma alanı 44x44px'e çıkarıldı - Mobil cihazlarda menü açılma animasyonu hızlandırıldı - iPhone SE'deki menü örtüşmesi sorunu çözüldü Fixes #123
Pull request’ler aracılığıyla kod incelemesi yapmak, kod kalitesini artırır ve ekip üyeleri arasında bilgi paylaşımını teşvik eder. Bir WordPress eklentisi geliştirirken, yeni bir özellik eklemeden önce bu süreci takip etmek kritiktir.
Web Projelerinde Karşılaşılan Git Sorunları ve Çözümleri
Web geliştirme süreçlerinde Git kullanırken bazı yaygın sorunlarla karşılaşabilirsiniz. İşte bunlardan bazıları ve çözümleri:
Büyük Dosyalar ve Media İçerikleri
Web projelerinde sıklıkla karşılaşılan bir sorun, büyük medya dosyaları ve videoların Git reposunu şişirmesidir. Bu sorunun çözümü:
- .gitignore kullanımı: uploads/ klasörü gibi medya dosyalarını içeren klasörleri izlemekten çıkarmak.
- Git LFS: Büyük dosyaları yönetmek için Git Large File Storage kullanmak.
- Medya yönetimi için alternatif çözümler: Medya dosyalarını Amazon S3 gibi bulut depolama hizmetlerinde tutmak.
Çakışmaların Yönetimi
Birden fazla geliştirici aynı dosyayı düzenlediğinde çakışmalar oluşabilir. Çakışmaları çözmek için:
- Düzenli olarak
git pullyaparak güncel kodu almak - Çakışma durumunda, dosyaları dikkatle inceleyip manuel olarak çözmek
- Çakışmaları önlemek için ekip içinde iyi bir iletişim kurmak
Git ve GitHub ile Web Projelerini Otomatize Etme
Git ve GitHub’ın gücünü tam olarak kullanmak için, web geliştirme süreçlerinizi otomatize edebilirsiniz. GitHub Actions kullanarak:
- Otomatik testler: Her push veya pull request’te kodunuzun test edilmesini sağlayabilirsiniz.
- Otomatik dağıtım (deployment): Master dalına yapılan değişiklikleri otomatik olarak canlı ortama alabilirsiniz.
- Kod kalite kontrolleri: PHP CodeSniffer gibi araçlarla kodunuzun WordPress kodlama standartlarına uygunluğunu kontrol edebilirsiniz.
Örneğin, bir WordPress temasını GitHub Actions ile otomatik olarak dağıtmak için basit bir workflow şöyle olabilir:
name: Deploy to Production
on:
push:
branches: [ master ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Deploy to server
uses: SamKirkland/[email protected]
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
server-dir: /public_html/wp-content/themes/my-theme/
Sonuç: Web Geliştirmede Bir Adım Önde Olmak
Git ve GitHub’ı web geliştirme süreçlerinize dahil etmek, sadece teknik bir detay değil, stratejik bir karardır. Bu araçlar sayesinde:
- Kodunuzun güvenliği ve takibi sağlanır
- Ekip işbirliği ve iletişimi güçlenir
- Geliştirme süreçleri hızlanır ve otomatize edilir
- Hatalar daha hızlı tespit edilir ve düzeltilir
Yazının başında bahsettiğim müşteri projesi için yaptığımız Git entegrasyonu sonrasında, kod karmaşası ortadan kalktı, ekip üyeleri hangi değişikliklerin neden yapıldığını görebildi ve proje hızla tekrar rayına oturdu.
Siz de henüz Git ve GitHub’ı web projelerinizde kullanmıyorsanız, bugün başlamanızı öneriyorum. Küçük projelerle başlayın, temel komutları öğrenin ve zamanla daha karmaşık iş akışlarına geçin. Bu yatırım, uzun vadede size zaman kazandıracak ve projelerinizin kalitesini artıracaktır.
Web geliştirme süreçlerinizle ilgili sorularınız veya Git/GitHub konusunda danışmak istediğiniz konular varsa, yorumlarda belirtebilir veya iletişim formumuz aracılığıyla bize ulaşabilirsiniz. Bir sonraki yazımızda, WordPress tema geliştirmede Git kullanımı hakkında daha detaylı örnekler paylaşacağım.


