SlideShare a Scribd company logo
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.
versiyon kontrol sistemleri , git , github
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.
versiyon kontrol sistemleri , git , github
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 sistemleri , git , github
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.
versiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , github
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
versiyon kontrol sistemleri , git , github
versiyon kontrol sistemleri , git , github
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.
versiyon kontrol sistemleri , git , github
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.
versiyon kontrol sistemleri , git , github
Kullanıcı Profilleri
versiyon kontrol sistemleri , git , github
Repository Görünümü
Proje ile ilgili tartışma
versiyon kontrol sistemleri , git , github
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

ODP
Git Sürüm Takip Sistemi
PDF
Git, Github, Versiyon Kontrolü 101
ODP
Git ve GitHub
PDF
Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)
PDF
Introduction to BASH and Terminal
PDF
Android mimari-cekirdek-binding-scheduler
PPTX
Developer Tools
PPTX
Windows 8 Ögretim Materyali
Git Sürüm Takip Sistemi
Git, Github, Versiyon Kontrolü 101
Git ve GitHub
Komut Satırıdından Arch Linux Kurulumu(Manuel Çekirdek Derlemesi Dahil)
Introduction to BASH and Terminal
Android mimari-cekirdek-binding-scheduler
Developer Tools
Windows 8 Ögretim Materyali

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

PPT
Linuxe_giris dökümanı açık kaynak işletim sistemi
PPT
PDF
Temel linux
PDF
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
PPTX
Ağ i̇şleti̇m si̇stemleri̇ne örnekler
PDF
Dağıtık Sistemler / Programlama
PPTX
Işletim sistemleri
PPTX
SVN & CVS by Eren SIMSEK
PDF
Abapgit kurulum kullanım
PPTX
PDF
Pfe101 unite01
PPTX
Donanım
PPTX
Donanım
PPTX
12factor apps
DOCX
Infraskope Security Event Manager
PPTX
Sunum 13 (1)
PPTX
Sunum 13
PDF
Isl sis
PDF
Siber3.pdf
PDF
Linux İşletim Sistemi - Güncelleme-2018
Linuxe_giris dökümanı açık kaynak işletim sistemi
Temel linux
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Ağ i̇şleti̇m si̇stemleri̇ne örnekler
Dağıtık Sistemler / Programlama
Işletim sistemleri
SVN & CVS by Eren SIMSEK
Abapgit kurulum kullanım
Pfe101 unite01
Donanım
Donanım
12factor apps
Infraskope Security Event Manager
Sunum 13 (1)
Sunum 13
Isl sis
Siber3.pdf
Linux İşletim Sistemi - Güncelleme-2018
Ad

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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 28. Proje ile ilgili tartışma