23
¨ Ozg¨ ur Yazılıma Nasıl Katkı Verilir? ur¨ um Kontrol Sistemi Git Github ¨ Ornekler Bir ¨ Ozg¨ ur Yazılım Projesine Nasıl Katkı Verilir? Ahmet Can KEPENEK Ebru AKAG ¨ UND ¨ UZ Serhat Rifat DEM ˙ IRCAN April 26, 2013 Ahmet Can KEPENEK Ebru AKAG ¨ UND ¨ UZ Serhat Rifat DEM Bir ¨ Ozg¨ ur Yazılım Projesine Nasıl Katkı Verilir?

Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Embed Size (px)

Citation preview

Page 1: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Bir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Ahmet Can KEPENEKEbru AKAGUNDUZ

Serhat Rifat DEMIRCAN

April 26, 2013

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 2: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Kullanmak ve Yaymak

I Ozgur yazılımları kullanmak

I Baskalarına ozgur yazılımları anlatmak ve kullandırmak

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 3: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Belgelendirme Yapmak

I Son kullanıcıya yonelik belgelendirme

I Gelistiriciye yonelik belgelendirme

I Belgelendirme eksikliklerini tamamlama

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 4: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Ceviri Yapmak

I Yazılımın cevirisini yapmak

I Var olan ceviriye yardımcı olmak, iyilestirmek, eksikliklerinitamamlamak

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 5: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Hata Girmek

I Kullanırken karsımıza cıkan hataları ilgili yerlere bildirmek

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 6: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Test Yapmak

I Yazılımın duzdun calısıp calısmadıgına dair testler

I Performans testleri

I Hataları yakalamak uzerine testler

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 7: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Hata/Sorun Gidermek

I Bilinen hataları/sorunları gidermeye calısmak

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 8: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Kod Yazmak

I Yazılıma kod katkısında bulunmak

I Yeni ozellik eklemek, hata duzeltmek, test yazmak

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 9: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Proje Havuzları Uzerinden Destek

I Savannah

I Google Code

I SourceForge

I GitHub

I LaunchPad

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 10: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Kaynak Koddaki Belgeler

I TODO

I HACKING

I BUGS

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 11: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Katkı VermekDestek Vermek

Birebir Iletisim

I Projelerdeki gelistiriciler ile birebir iletisim kurulup neyapılacagı konusulabilir.

I IRCI Ozel e-posta veya e-posta listeleriI Anlık mesajlasma

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 12: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Surum Kontrol Sistemi Nedir?Surum Kontrol Sistemi Tipleri

Surum Kontrol Sistemi

I Surum kontrol sistemi bir projede gelistirme asamasında koddayapılan degisikliklerin takig edilebilmesine, gerektiginde gerialınabilmesini saglar.

I Proje gelistirilirken ozellikle projede birden fazla kisi oldugundakullanılan sistemdir.

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 13: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Surum Kontrol Sistemi Nedir?Surum Kontrol Sistemi Tipleri

Yerel Surum Takip Sistemleri

I Dosyalar baska bir dizine kopyalanır.

I En basit surum kontrol sistemidir.

Figure: Yerel Surum Takip Sistemi

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 14: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Surum Kontrol Sistemi Nedir?Surum Kontrol Sistemi Tipleri

Merkezi Surum Takip Sistemleri

I Merkezi bir ana sunucu surum kontrol sistemi icin kullanılır.

I Butun gelistirme asamaları bu ana sunucudadır.

I Gelistiricilerde sadece calıstıkları versiyon bulunur.

Figure: Merkezi Surum Takip Sistemi

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 15: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Surum Kontrol Sistemi Nedir?Surum Kontrol Sistemi Tipleri

Dagıtık Surum Takip Sistemleri

I Merkezi surum takip sistemlerinin aksine gelistiricilerde koduntamamı bulunur.

Figure: Dagıtık Surum Takip Sistemi

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 16: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Git TarihiGit HakkındaGit Yapılandırılması

Git’in Kısa Tarihi

I Linux cekirdegi gelistirilirken dagıtık bir surum kontrol sistemiolan BitKeeper kullanılıyordu.

I Git’in gelistirilmesi

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 17: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Git TarihiGit HakkındaGit Yapılandırılması

Git Hakkında Temel Bilgiler

I Farklı surumler arasında dosyaların bir onceki surumuylearasındaki fark degil, o surumdeki hali tutulur.

I Cogu islem yerelde gerceklesir.

I Dosyaların butunluk kontrolu var.

I Git yapılan her islemi veritabanına ekler.

I Dosyaların uc durumu vardır: Modified, Staged, Commited

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 18: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Git TarihiGit HakkındaGit Yapılandırılması

Git Yapılandırılması

I Ad ve mail adresinin commitlerle iliskilendirilmesigit config –global user.name ”Serhat Rifat Demircan”git config –global user.email ”[email protected]

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 19: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Github

Github

I https://www.github.com

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 20: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Empathy

Once

Figure: Empathy Once

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 21: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Empathy

Sonra

Figure: Empathy Sonra

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 22: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Empathy

Iletisim

I [email protected]

I [email protected]

I [email protected]

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?

Page 23: Özgür Yazılıma Nasıl Katkı Verilir - Mugla Semineri

Ozgur Yazılıma Nasıl Katkı Verilir?Surum Kontrol Sistemi

GitGithub

Ornekler

Empathy

Tesekkurler

I Sorular?

Ahmet Can KEPENEK Ebru AKAGUNDUZ Serhat Rifat DEMIRCANBir Ozgur Yazılım Projesine Nasıl Katkı Verilir?