git


  1. en cok bilinen ve kullanilan surum kontrol sistemidir. rakiplerine karsi en onemli ozelligi decentralized olmasidir. yani repo uzerindeki degisiklikleri herkes kendi local reposunda yapar. reposundaki islem tamamlaninca pull request ya da dogrudan commit yaparak remote reposuna ekler. degisiklik herkesin erisebilecegi repoya eklenmis olur.

    ancak svn gibi rakiplerinde bu olay yoktur. degisiklik yapmak icin dogrudan o repoya erisip onun uzerinde degisiklik yapmalisiniz. localde duzenleyip remote'a yollamak gibi bir kavram yoktur.
  2. pek kibar bir versiyon kontrol sistemi. dogrudan git ile alakasi olmasa da soyle bir sey var:

    kod serverin tekinde duruyor. indirip duzenlemeler yapiyorsunuz. yeni bir seyler ekliyorsunuz vs. sonra mantiken yaptiginiz bu duzeltmeleri o server'a geri yollarsiniz, ittirirsiniz (push) degil mi? degil. kodun asil sahibine pull request atiyorsunuz. o ne oyle kodu "ittirmek", olmaz. siz benim koduma bakip arzu ederseniz "cekin" der gibi bir sey oluyor. ricaniz kabul olursa kodun asil sahibi sizin kodunuzu kendininkine cekiyor. sonra da birlestiriyor.

    kodun asil sahibi tek kisi ise kendine pull request atmiyor tabii genelde. sacma oyle yapmak. o zaman push etmek gerek. oradan attim buradan tuttum gibi olur yoksa.