SlideShare a Scribd company logo
1 of 36
Download to read offline
GitHub , VKS ve git
Hazırlayan :
Ramazan Furkan MATARACI
1306151324
BIMU3083 , İnsan Bilgisayar Etkileşimi
Versiyon Kontrol Sistemileri(VKS)
Yerel Versiyon Kontrol Sistemi
Geliştiricilerin büyük bir kısmı projelerinin yedeklerini , versiyon
numarası ismini dizin ismi olarak verdikleri dizinlerin altında
saklarlar.Bu yöntem versiyon kontrolü için en kolay yöntem
olmakla birlikte hatalara da en açık yöntemdir.Karışıklıkların
önüne geçmek için versiyon numaralarını otomatik olarak
oluşturan ve bunları veri tabanına kaydeden sisteme yerel
versiyon kontrol sistemi denir.
Mekezi Versiyon Kontrol Sistemi
Yerel versiyon kontrol sisteminde veritabanı geliştiricinin
bilgisayarında tutulur ve sadece bilgisayarın sahibi olan geliştirici
bu veritabanına erişebilir.Fakat bilindiği üzere projeler büyüdükçe
proje üzerinde çalışan kişi sayısının artması kaçınılmazdır.Proje
üzerinde yapılan değişikleri her çalışanın görebilmesi için versiyon
kontrol veri tabanı yerel sistemden alınıp bir sunucuya taşınır ve
bir ağ aracılığıyla veri tabanına erişim sağlanır.Aynı ağa dahil
herkes bu veri tabanını görüntüleyebilir.Her ne kadar merkezi
olmasından dolayı güvenilir gibi gözüksede bu yöntemle versiyon
kontrolü yapmak proje için ölümcül hatalara sebep olabilir.
Dağıtık Versiyon Kontrol Sistemi
Merkezi kontrol sisteminde sunucuda herhangi bir hata oluşması
durumunda tüm versiyon kontrol veri tabanı kaybedilebilir.Bunun
önüne geçmek için dağıtık versiyon kontrol sistemi
geliştirilmiştir.Sunucuda var olan versiyon kontrol veri tabanı
projeye sahip istemcilere dağıtılır bu sayede merkezi sunucudaki
dosya veri tabanının başına birşeyler gelmiş olsa bile
istemcilerdeki veri tabanı kullanılarak veri kaybı riski azaltılabilir.
Versiyon Kontrol Yazılımları
Versiyon Kontrol Yazlımları ile ;
● Versiyon kontrol veri tabanına erişim için bir arayüz oluşturulabilir.
(GitKraken,SourceTree)
● Birden fazla geliştiricinin projede daha aktif çalışması sağlanabilir.
● Projede yapılan değişikliklerin kim tarafından ne zaman ve nasıl yapıldığı
görülebilir.
● En önemlisi , proje bir önceki durumlardan herhangi birine geri
döndürülebilir.
2005 yılında Linux çekirdeğinin geliştirilmesine yardımcı olması
için Linus Torvalds tarafından başlatılan açık kaynak kodlu
dağıtık versiyon kontrol sistemi programı projesidir.
Snapshot
Projenin durumlarından herhangi birine verilen isimdir.
Commit
● Snapshot oluşturma işlemidir
● Proje içerisinde yapılan her bir değişiklik bir commit’tir.
● Bir projede yüzlerce,binlerce hatta onbinlerce commit bulunabilir.
● Bir commit’te 3 tane bilgi bulunur.
1)Bir önceki commit’ten farklı olarak nelerin değiştiği,ne zaman ve kim tarafından
değiştirildiği.
2)Kendinden önce gelen commit’in ne olduğu bilgisi.
3)Commit’i unique yapan hash code.
Repository(Repo)
● Tüm dosya,commit ve snapshot’ların barındırıldığı disk alanıdır.
● Yerel donanımda veya sunucu donanımında oluşturulabilir
● Sunucu üzerinden bir repo’yu indirme işlemine “Clone” denir.
Pull-Push
● Pull = Yerel donanımda bulunmayan commit’lerin sunucudan yerele indirilmesi
işlemidir.
● Push = Yerelde bulunan fakat sunucuda bulunmayan değişiklikleri commit etme
işlemidir.
Branch
● Commit’lerin toplandığı repo dallarına verilen isimdir.
● Birden fazla branch bir repo içerisinde bulunabilir.
● Repo oluşturulurken “Master” isimli branch otamatik oluşturulur.
Merge
● Master dışındaki bir branchte yapılan değişiklerin Master branch’iyle birleştirilme
işlemine denir.
git depolama servisleri
2008 yılında Tom Preston Werner tarafından kurulmuştur.Git
repoları için web tabanlı bir depolama servisidir.Açık kaynaklı
repolar için ücretsizdir.Ticari repolar için ise ücretli üyelikler
gerekir.Geliştiricilerin sosyal medyası olarak bilinir.
Fork : Bir başka geliştiriciye ait olan bir repoyu kopyalama işlemidir.
Pull Request : Forklanan bir projenin master branchinden yeni bir
branch türetip , bu branch üzerinde değişiklikler yapılabilir.Eğer bu
değişikliklerin proje için önemli olduğunu düşünüyorsanız proje
sahibini bilgilendirmek için pull request oluşturabilirsiniz.Pull request
oluşturma işlemiyle birlikte yaptığınız değişiklikler projeyi geliştiren
topluluk tarafından tartışılabilir hale gelir.Proje sahibinin değişiklikleri
kabul etmesi durumunda değişiklikler master branch ile Merge edilmiş
olur.
Kullanıcı Profilleri
Repository Görünümü
Proje ile ilgili tartışma
Pull Request Tartışmaları
Grafikler
versiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , github

More Related Content

Similar to versiyon kontrol sistemleri , git , github

Ağ i̇şleti̇m si̇stemleri̇ne örnekler
Ağ i̇şleti̇m si̇stemleri̇ne örneklerAğ i̇şleti̇m si̇stemleri̇ne örnekler
Ağ i̇şleti̇m si̇stemleri̇ne örnekler
Alonelaz
 
Işletim sistemleri
Işletim sistemleriIşletim sistemleri
Işletim sistemleri
snakeyes31
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Manager
logyonetimi
 

Similar to versiyon kontrol sistemleri , git , github (20)

CVS
CVSCVS
CVS
 
Temel linux
Temel linuxTemel linux
Temel linux
 
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
 
Ağ i̇şleti̇m si̇stemleri̇ne örnekler
Ağ i̇şleti̇m si̇stemleri̇ne örneklerAğ i̇şleti̇m si̇stemleri̇ne örnekler
Ağ i̇şleti̇m si̇stemleri̇ne örnekler
 
Dağıtık Sistemler / Programlama
Dağıtık Sistemler / ProgramlamaDağıtık Sistemler / Programlama
Dağıtık Sistemler / Programlama
 
Işletim sistemleri
Işletim sistemleriIşletim sistemleri
Işletim sistemleri
 
SVN & CVS by Eren SIMSEK
SVN & CVS by Eren SIMSEKSVN & CVS by Eren SIMSEK
SVN & CVS by Eren SIMSEK
 
Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanım
 
Git 101
Git 101Git 101
Git 101
 
Pfe101 unite01
Pfe101 unite01Pfe101 unite01
Pfe101 unite01
 
Donanım
DonanımDonanım
Donanım
 
Donanım
DonanımDonanım
Donanım
 
12factor apps
12factor apps12factor apps
12factor apps
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Manager
 
Sunum 13 (1)
Sunum 13 (1)Sunum 13 (1)
Sunum 13 (1)
 
Sunum 13
Sunum 13Sunum 13
Sunum 13
 
Isl sis
Isl sisIsl sis
Isl sis
 
Siber3.pdf
Siber3.pdfSiber3.pdf
Siber3.pdf
 
Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018Linux İşletim Sistemi - Güncelleme-2018
Linux İşletim Sistemi - Güncelleme-2018
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup
 

versiyon kontrol sistemleri , git , github

  • 1. GitHub , VKS ve git Hazırlayan : Ramazan Furkan MATARACI 1306151324 BIMU3083 , İnsan Bilgisayar Etkileşimi
  • 3. Yerel Versiyon Kontrol Sistemi Geliştiricilerin büyük bir kısmı projelerinin yedeklerini , versiyon numarası ismini dizin ismi olarak verdikleri dizinlerin altında saklarlar.Bu yöntem versiyon kontrolü için en kolay yöntem olmakla birlikte hatalara da en açık yöntemdir.Karışıklıkların önüne geçmek için versiyon numaralarını otomatik olarak oluşturan ve bunları veri tabanına kaydeden sisteme yerel versiyon kontrol sistemi denir.
  • 4.
  • 5. Mekezi Versiyon Kontrol Sistemi Yerel versiyon kontrol sisteminde veritabanı geliştiricinin bilgisayarında tutulur ve sadece bilgisayarın sahibi olan geliştirici bu veritabanına erişebilir.Fakat bilindiği üzere projeler büyüdükçe proje üzerinde çalışan kişi sayısının artması kaçınılmazdır.Proje üzerinde yapılan değişikleri her çalışanın görebilmesi için versiyon kontrol veri tabanı yerel sistemden alınıp bir sunucuya taşınır ve bir ağ aracılığıyla veri tabanına erişim sağlanır.Aynı ağa dahil herkes bu veri tabanını görüntüleyebilir.Her ne kadar merkezi olmasından dolayı güvenilir gibi gözüksede bu yöntemle versiyon kontrolü yapmak proje için ölümcül hatalara sebep olabilir.
  • 6.
  • 7. Dağıtık Versiyon Kontrol Sistemi Merkezi kontrol sisteminde sunucuda herhangi bir hata oluşması durumunda tüm versiyon kontrol veri tabanı kaybedilebilir.Bunun önüne geçmek için dağıtık versiyon kontrol sistemi geliştirilmiştir.Sunucuda var olan versiyon kontrol veri tabanı projeye sahip istemcilere dağıtılır bu sayede merkezi sunucudaki dosya veri tabanının başına birşeyler gelmiş olsa bile istemcilerdeki veri tabanı kullanılarak veri kaybı riski azaltılabilir.
  • 8.
  • 10. Versiyon Kontrol Yazlımları ile ; ● Versiyon kontrol veri tabanına erişim için bir arayüz oluşturulabilir. (GitKraken,SourceTree) ● Birden fazla geliştiricinin projede daha aktif çalışması sağlanabilir. ● Projede yapılan değişikliklerin kim tarafından ne zaman ve nasıl yapıldığı görülebilir. ● En önemlisi , proje bir önceki durumlardan herhangi birine geri döndürülebilir.
  • 11.
  • 12.
  • 13. 2005 yılında Linux çekirdeğinin geliştirilmesine yardımcı olması için Linus Torvalds tarafından başlatılan açık kaynak kodlu dağıtık versiyon kontrol sistemi programı projesidir.
  • 14. Snapshot Projenin durumlarından herhangi birine verilen isimdir. Commit ● Snapshot oluşturma işlemidir ● Proje içerisinde yapılan her bir değişiklik bir commit’tir. ● Bir projede yüzlerce,binlerce hatta onbinlerce commit bulunabilir. ● Bir commit’te 3 tane bilgi bulunur. 1)Bir önceki commit’ten farklı olarak nelerin değiştiği,ne zaman ve kim tarafından değiştirildiği. 2)Kendinden önce gelen commit’in ne olduğu bilgisi. 3)Commit’i unique yapan hash code.
  • 15. Repository(Repo) ● Tüm dosya,commit ve snapshot’ların barındırıldığı disk alanıdır. ● Yerel donanımda veya sunucu donanımında oluşturulabilir ● Sunucu üzerinden bir repo’yu indirme işlemine “Clone” denir. Pull-Push ● Pull = Yerel donanımda bulunmayan commit’lerin sunucudan yerele indirilmesi işlemidir. ● Push = Yerelde bulunan fakat sunucuda bulunmayan değişiklikleri commit etme işlemidir.
  • 16. Branch ● Commit’lerin toplandığı repo dallarına verilen isimdir. ● Birden fazla branch bir repo içerisinde bulunabilir. ● Repo oluşturulurken “Master” isimli branch otamatik oluşturulur. Merge ● Master dışındaki bir branchte yapılan değişiklerin Master branch’iyle birleştirilme işlemine denir.
  • 18.
  • 19.
  • 20. 2008 yılında Tom Preston Werner tarafından kurulmuştur.Git repoları için web tabanlı bir depolama servisidir.Açık kaynaklı repolar için ücretsizdir.Ticari repolar için ise ücretli üyelikler gerekir.Geliştiricilerin sosyal medyası olarak bilinir.
  • 21. Fork : Bir başka geliştiriciye ait olan bir repoyu kopyalama işlemidir.
  • 22.
  • 23. Pull Request : Forklanan bir projenin master branchinden yeni bir branch türetip , bu branch üzerinde değişiklikler yapılabilir.Eğer bu değişikliklerin proje için önemli olduğunu düşünüyorsanız proje sahibini bilgilendirmek için pull request oluşturabilirsiniz.Pull request oluşturma işlemiyle birlikte yaptığınız değişiklikler projeyi geliştiren topluluk tarafından tartışılabilir hale gelir.Proje sahibinin değişiklikleri kabul etmesi durumunda değişiklikler master branch ile Merge edilmiş olur.
  • 24.
  • 26.
  • 28. Proje ile ilgili tartışma
  • 29.