versiyon kontrol sistemi: git
TRANSCRIPT
ESOGÜ Bilişim Günleri 2014
• Versiyon Kontrol Sistemi: Git
Hidayet Doğan Yazılım Parkı
Adil İlhan Genel Bilgi Teknolojileri Ltd. Şti.
Yazılım Geliştirme Problemleri
• Büyük küçük farketmeksizin hepsinde olur
• Kod tabanı büyüdükçe işler iyice karışır
• Hele bir de ekipseniz, her şey karışabilir
• Kodları takip etmek gerek!
Genel Problemler
• Bu kodu kim yazdı?
• Neden yazdı?
• Ne zaman yazdı?
• Kod yazılırken hangi aşamalardan geçti?
• Hızlıca çalışan sürüme dönmek
Gazetecilerde 5N 1K
• Ne? • Nasıl? • Neden? • Nerede? • Ne zaman? • Kim?
Yazılımcılarda 4N 1K
• Ne? (Kod, döküman, imaj vs.) • Nasıl? (Algoritması, çalışma şekli vs.) • Neden? (Bu koda niye ihtiyaç var?) • Ne zaman? • Kim?
Sürüm takip sistemleri!
• Bu problemler için geliştirildiler
• Hepsinin ortak amacı aynı
• Kod geçmişi üzerinde iyi bir tarihçe
• ...
Doğru Bilinen Yanlışlar
• Projede tek ben varım • Benim kodlarım düzenlidir • Üzerinden yıllar geçse de ne yaptığımı hatırlarım • VCS'ler beni / bizi yavaşlatır • İki günlük proje için VCS'ye gerek yok • ...
Kimler kullanıyor?
• Facebook, Google, Linux Kernel, Mozilla …
• Türkiye'de çoğu yazılım firması
• GitHub, BitBucket, Gitorious...
Neler var?
Git Mercurial Team Foundation Server CVS SVN ...
En Basit Haliyle Neden Git?
• Özgür yazılım • Hızlı • Platform bağımsız • Branch yapısı • Kolay(?) kullanım • Dağıtık
Temel Git Komutları
git clone git commit git push git pull git merge git reset
Git ile Çalışma
Git 101
git clone [email protected]:adililhan/Defterdar.git git commit -m “Ornek Mesaj” ornek.php git diff git push
Git 101
git fetch git merge git pull
Branch Yapısı
Kısacası Git’i kullanın kullandırtın…
Teşekkürler…