Bir çoğunuzun github
dendiğinde ne olduğunu anlamadığımızı kendimden biliyorum. Eğer bir yazılım departmanında çalışma şansınız olmadıysa zaten repository veya versioning terimlerinin size çok uzak olması çok doğal. Ben uzun yıllar yazdığım yazılımların versiyonlarına pek önem vermedim,çünkü dürüst olmak gerekirse planlı programlı bir kodlama yerine on demand yani ihtiyaç durumunda bir kod yazımı söz konusu olduğundan benim için yazdığım versiyon hep tek ve son versiyon oluyordu. Zaten yazdığım yazılımların kodlarını kimse ile paylaşmadığım için versiyon numarasının ne olduğu birazda keyfi bir durum oldu. Ben yazılıma başladığımda kabul edersiniz ki ne github vardı ne internet vardı ne google ne de stackexchange. Hal böyle olunca da bugün insanların sıklıkla kullandığı terimlere de teknolojilere de çok uzaktık. Ama bildiğim tek şey teknoloji işi deniz derya benimde hep kıyısında yüzebildiğim.Bir gün açılıp hiç gelmeyesim var :D
Peki bir yerde başlamak lazım deyip aylar önce başladığım ama bir türlü bitiremediğim şu benim github 101 yazımı yazıp taslaklardan çıkarayım diyorum.Umuyorum benim gibi acemilere faydası olur:
Adım adım gitmek gerekiyorsa ilk yapmanız gereken adımlar şöyle :
1- Bu adrese gidip kayıt oluyorsunuz Github.IO
2- ikinci adımda tüm dünya ile paylaşabileceğiniz yada parasını ödeyerek sistemi kullanabileceğiniz bir seçenek soruluyor. Benim burada size anlatacağım ücretsiz versiyon.Diğer versiyonda isterseniz tüm kaynak kodlarınızı kendinize saklarsınız ve sadece siz ve paylaşmak istediğiniz kişiler tanımlarsınız isterseniz bizim burada anlattığımız gibi tüm dünyaya açabilirsiniz.
biz seçenek olarak şu seçeneği seçiyoruz:
Unlimited public repositories for free.
3- üçüncü adımda daha çok istatistiksel bilgiler içeren sorular soruluyor. Gerekli seçenekleri seçerek hesabımızı oluşturmuş olalım.
Not: Kayıtlı olduğunuz mailinize onay maili gelecek; gelen linki tıkladığınızda hesabınız oluşmuş olacak.
Artık sizin kullanıcı adınızla reponuz(depo) oluşmuş durumda , istediğiniz zaman
http://kullanici_adi.github.io adresini kullanarak oluşturduğunuz depolara erişebilir yada yeni repolar oluşturabilirsiniz.
Kayıt işlemi bittikten sonra sağ üst köşede “+” işaretini tıklayıp “New repository” seçeneğini seçerek ilk github repomuzu oluşturuyoruz.
Bu ekranda dikkat edilmesi gereken şey ad verirken yeni repoya arada bosluk kullanmiyoruz ayrıca benim size tavsiyem sadece aşağıdaki
“Initialize this repository with a README”
seçeneğini seçmeniz. Alttaki “Create Repository” düğmesine basarak alanınızı oluşturuyorsunuz.
İkinci adım versiyonları takip edebilmeniz adına çok önemli bir adım olan BRANCHING yani sınıflandırma(dallandırma) tabi sınıflandırma yazılım dilinde CLASS’a çağrışım yaptığı için Branching’i Türkçe’ye çevirmek biraz sıkıntılı. Alternatif olarak kollara ayırma da diyebiliriz.
Temelde reponuz master olarak oluşacaktır.Sizin ve arkadaşlarınızın yaptığı her yeni güncelleme kendi dallarında duracak taki siz onları commit edip master’a atana kadar.
Esasında siz bir branch oluşturduğunuzda yapılan işlem master’in bir kopyasını oluşturmak ya da snapshot’ını oluşturmak. işin güzel tarafı siz bir branch’ta kod ile çalışırken master’a commit edilmiş yeni bir güncellemeyi kendinize pull edebiliyorsunuz.
Detaylara girmeden master’da çalışmak elbette mümkün iken biz tabi ki kesinlikle yeni bir branch açıyoruz.Yapılan değişiklikleri takip edebilmek ve versiyonlamayı gerçekleştirebilmek için.
BRANCH: master
kutusunu açıp içerisine oluştumak istediğiniz branch’ın adını yazıyp alttan CREATE butonuna basıyorsunuz. Ben size basit örnek olabilmesi için demin repoyu yarartırken README bölümünü oluşturmanızı sağlamıştım. Atlamadıysanız master içerisinde README dosyası oluşmuş olmalı.Bu yüzden ben BRANCH : master kutusunu (ekran sol orta)açıp içerisine readme-duzenleme
yazıp öyle create branch tuşuna basmanızı istiyorum.
Artık Branch tusunda hem master hemde readme-duzenle kollari oluştu ve ikisi de birbirinin kopyası şu anda ; esasında readme-duzenle master ‘ın kopyası.
Branch : readme-duzenle
‘yi seçip içerisine giriyoruz.Buradaki README dosyasının içerisine girip sağ taraftan kalem işaretini tıklayıp dosyanın içeriğini değiştirelim. Mesela projeniz hakkında birşeyler yada kendinizi tanıtan bir kaç bir şey yazalım.Bu işlemi yaptıktan sonra altta var olan COMMIT butonuna basacağız.
Artık master ile readme-duzenle branchları birbirlerinden farklı bu noktada artık devreye PULL REQUEST (çağrı talepleri) kavramı devreye giriyor. Github sisteminde Pull Requestleri kolabrasyonun kalbini oluşturur.Bu işlemi başlattığınızda projeye dahil olan yöneticilerin değişiklikleri gözlemlemesini ve uygunsa pull işlemlerini kendi branchlarına alabilmelerini sağlar.Pull requestleri farklılıkları gösterir veya iki farklı branchtaki değişimleri. Değişiklikler, eklemeler ve çıkartmalar yeşil ve kırmızı renklerle gösterilir.
Commit işlemini bitirir bitirmez hemen peşinden pull request açabilir ve kodlama daha bitmeden proje dahil olmuş (fork) tüm katılımcılar ile tartışma/müzakere başlatabilirsiniz.
Github sisteminde @imaetme(mention) sistemi ile pull request mesajında katılımcılardan geri dönüş isteyebilirsiniz, hatta bu insanlar yada takım dünyanın neresinde veya hangi zaman diliminde olursa olsun.Bu github’ın akışını anlamanız büyük projelerde çalışmanız için çok önemli.
Pull Request tabına girip sağdan “New Pull Request” butonuna tıklıyoruz. Master branch uzerine geçmiş oluyorsunuz bu sayede.Master üzerindeyken aşağıda diğer branch üzerindeki ki bizim örneğimizde “readme-duzenle” branchini seçiyoruz.Bu sayede github hemen iki repo arasındaki dosyalardaki farkları gösteriyor. “Create Pull Request ” butonuna bastığınızda size bir başlık ve açıklma gireceğiniz bir form oluşturacak burada yukarıda da değindiğim gerekli başlık veya açıklama olsun bilgileri girip “Create Pull Request” butonuna tekrardan basıyoruz.Bu sefer karşınıza github sisteminin sistemi gerekli testleri ve karşışaltırmaları yaptıktan sonra eğer bir hata ile karşılaşmaz ise size bir rapor ekranı açıyor ve bu ekranda “MERGE PULL REQUEST” deyip ister branch’tan master’a yada tam tersi master’a aktarılmış bir pull kendi branchınıza bu şekilde merge etmiş oluyorsunuz.
Artık bir projede birden fazla kişi dünyanın başka yerlerinden grup olarak çalışabilmesi hakkında bir bilgi sahibisiniz.Tebrik ediyorum.
Eğer işletim sisteminiz Linux ise github’ı sisteminize yum veya apt ile kurabilir ve kendi lokalinizde dosyaları tutup test edip değişiklikleri yapabilir ve sonra tekrardan github’a yükleyebilirsiniz.Bu arada bu söylediğimi yapabilmek için illa Linux değil Mac ve Windows kullanıcıları da github.io sitesinden ilgili uygulamaları indirerek projelerinizi offline da güncelleyebilirsiniz.
Önce github’a bağlanmalısınız:
-git clone https://github.com/kullanici_adi/kullanici_adi.github.io
kendi repo’nuza gireceksiniz
– cd username.github.io
index.html dosyası oluşturalım
~$ echo “Hello World” > index.html
Lokalinizde var olan dosyaları karşı tarafa yani sunucuya yükleyin
git add –all
git komutu ile yapıtığınız yüklemeleri commit edin
~$git commit -m “Initial commit”
git üzerindeki tüm değişiklikleri master’a push edin
~$git push -u origin masterusername
Websitesinden artık sayfanızı görebilirsiniz :
https://kullanici_adiniz.github.io
Umarım bu ufacık bilgiyle sizlere faydam olmuştur.Size iyi GIT’lemeler :D