21 Temmuz 2014 Pazartesi

Git

     Bu yaz benim boş geçen son yazım ve kendimi geliştirmek için gerçekten çok zamanım var gibi,bu yaz  öğrendiklerimin bazılarını sizinle de paylaşmak istiyorum.Size biraz Github hakkında bilgi vermek istiyorum. Bende birinci sınıfın ilk dönemi kısa bir tanışma yaşamıştım Github'la fakat daha sonra pek kullanmadım. İkinci dönem sinirlenip bütün proje ödevimi sildikten sonra aslında projemin saklandığı bir uzak deponun olmasının sağlıklı olacağını düşünmeden edemedim. Bu sıralar Github'a bakıyordum ve belki öğrendiklerimin size de faydası olabilir diye paylaşmak istedim.

Github nedir?
    Github sürüm takip sistemi olarak bilinir peki sürüm takip sistemi ne anlama gelir?Sürüm kontrolü, bir ya da daha fazla dosya üzerinde yapılan değişiklikleri kaydeden ve daha sonra belirli bir sürüme geri dönebilmenizi sağlayan bir sistemdir.Github'ı Linux çekirdeğini geliştiren topluluk geliştirmiştir.
Git, inanılmaz ölçüde hızlı, büyük ölçekli projelerde alabildiğine verimli ve çizgisel olmayan geliştirim için inanılmaz bir dallanma (branching) sistemine sahip.
    Gitte  üç ağaç yapısı vardır;İlki bizim üzerinde çalıştığımız dizin ikincisi "add" komutu ile değişikliklerin algılandığı ve tutulduğu index üçüncüsü " commit " komutuyla kalıcı tutulan yer Head.
Giti kullanmaya başlamak için önce kurmanız gerekiyor.
Linux için kurulumu:
Fedora kullanıcısıysanız, yum'u kullanabilirsiniz:
"$ yum install git-core"
Ubuntu gibi Debian-tabanlı bir sistemdeyseniz, apt-get'i kullanabilirsiniz:
"$ apt-get install git"
Windows için kurulumu:
"http://msysgit.github.com/ "
Çalıştırılabilir kurulum dosyasını indirip çalıştırmanız yeterli.
Giti kurduktan sonra adınızı ve e-posta adresinizi ayarlamalısınız.
$ git config --global user.name "Melike Yurtoglu"
$ git config --global user.email aysemelikeyurtoglu.com
 Ayarlarınızı gözden geçirmek isterseniz aşağıdaki komutu kullanabilirsiniz:
$ git config --list
Git kullanırken yardıma ihtiyacınız olursa  "$ git help <eylem> " komutunu kullanabilirsiniz.
Elinizde bir proje varsa ve bunu git sürüm takip sistemi altına almak istemiyorsanız o klasöre gidip
bir depo oluşturmanız gerekir bunun için "$ git init" komutunu kullanmanız gerekir.
"$ git clone [url]" komutu ile istediğimiz git havuzunu klonlayabiliriz.Eğer adını değiştirmek isterseniz
url nın sonuna istediğiniz dosya adını yazarak komutu çalıştırırız. "$ git status"  komutu mevcut 
durumu görmek için kullanılır. "untracked files" başlığı altındaki dosyalar kontrol edilmeyen dosyalardır.
Bu dosyaları izlemeye almak gerekir.İzlemeye almak için "$ git add" komutu kullanılır.Bir dosyada
kayda hazırlamadığınız değişiklikleri görmek için "$ git diff" komutunu kullanabilirsiniz.
"$ git diff --cached" komutu ile kayda hazırlanmış değişiklikleri görebilirsiniz."$ git commit" ile kayıt 
yapıyoruz.'$ git commit -m "mesaj" ' komutunu kullanarak neyi kaydettiğin hakkında bilgi verebilirsin.
Bu mesajın kısa ve açıklayıcı olması beklenir.Gitte bir dosyanın adını değiştirmek için
 "$ git mv eski_dosya yeni_dosya"komutunu kullanırız. "$ git log --stat" her kayıtla ilgili özet bilgi verir.
Projeyi hangi uzak sunucuya ayarladığınızı görmek için "$ git remote -v" seçeneğini kullanarak gitin
bu kısa ad için depoladığı url yi görürsünüz.Uzaktaki bir depoyu eklemek için
"$ git remote add [kısa_ad] [url]" .Uç birim adını değiştirmek "$ git remote rename eski yeni"
komutu kullanılır.Git'te bir dal,kayıtlardan birine işaret eden, yer değiştirebilen kıvrak bir imleçten 
ibarettir. Git'teki varsayılan dal adı  master'dır.Siz başka bir dal oluşturmak isterseniz 
"$ git branch yeni_dal" komutunu kullanarak yeni bir dal oluşturabilirsiniz.Yeni bir dal oluşturmanız o
dala geçtiğiniz anlamına gelmez bu yüzden o dala geçiş yapmak için "$ git checkout yeni_dal" 
komutunu kullanırız.Dalları birleştirmek isterseniz masterla birleştirmek istediğiniz dalı yazarak 
"$ git merge yeni_dal"komutuyla dalları birleştirebilirsiniz. "$ git branch -d yeni_dal" komutu ile 
bu dalı silebilirsiniz.Dosyayla işiniz bittiğinde uzak depoya göndermek için "$ git push -u [depo] [branch]" 
komutuyla gönderebilirsiniz.

     Gitte daha öğrenilecek çok komut var. Git kullanmaya başladığınızda bunları daha çok öğrenme
fırsatınız olacaktır.Aşağıda çalışırken kullandığım bir kaç kaynağa bakabilirsiniz:
 
Git kitapçığı 

Try Github