Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Github olayi ve acik kaynak projeler


reyou

Öne çıkan mesajlar

ben acik kaynak kodlu projelere katilmak istiyorum ama bazi sorular var kafamda

1- heryerde bir github dir gidiyo, ben tfs disinda bi sourse control management kullanmadim, cok farkli seylermi?

2- github i vs 2010 da kullanabilirmiyim?

3- simdi ben bide sundan korkuyorum, adamlar ya yazdigim kodu begenmezlerse? :D ne biliyim spagetti yaziyon sen, facade pattern kullanmiyon falan diye dislarlarsa diye simdiye kadar hic katilma girisimim olmadi.. bole seyler oluyomu?

4- su projeden basla diyebilceginiz bi seyler varmi?

5- ya kisaca su yukardaki olaylari teyzeye anlatir gibi bole sakin sakin anlatabilcek birileri var mi?

bende bu communty olayina girmek istiyorum insanliga faydamiz dokunsun hemde yeni seyler ogrenirim diye ama dedigim gibi konsepti bi yakalayamadim :/
Link to comment
Sosyal ağlarda paylaş

FOSS community'si meritokrasi ile calisiyor. Eger standartlara uygun kod gondermezsen tokatlarlar, agir konusurlar.

Baslama noktasi yok. Sevdigin ve kullandigin bir projeyi forkluyorsun ve basliyorsun calismaya. Iteleyerek olcak isler degil bence. Kullanmadigin seye contribute etmek zor.

Illa zorlucam dersen fork ettigin projenin issues kismina bakarsin. Ya da daha once denenmemis bi ortamda build etmeye calisirsin sorun cikarsa report edersin.

TFS bilmiyorum distributed mi, degilse evet cok farkli seyler. VS'nin git destegi kesin vardir ama git'in kendi shell'ini kullanman daha iyi. Hos windows'ta git kullanmayi cok sevmiyorum ben, bi boyle yapay geliyor.
Link to comment
Sosyal ağlarda paylaş

bu arada git için

http://git-tips.heroku.com

ve türkçe versiyonu gibi bişi:

http://vigo.github.com/git-tips/



ve yukarıda söylenenlere de katılıyorum, sırf katılımcı olayım diye giriştiğin bir işten bıkma ihtimalin yüksek..
bence hoşuna giden bir open source proje bulup öyle başlaman, issue ları incelemen iyi olabilir..
Link to comment
Sosyal ağlarda paylaş

Ben bu konsol olaylarına hiç alışamadığım için github'ın windows gui'sini kullanıyorm. hoş cok büyük karmaşık bişey yapmadığımdan sıkıntı olmadı daha ama herkes aynı şeyi sölemekte konsol komutlarını kullan diye.Visual studio'nun git ile ilgili kesin bişeyi vardır buarada önce git-github kullanmayı ögren derim.

Bi de direk projelere dalıcağına önce adamların kodu anlıyabiliomusun onu görmek lazım.
Link to comment
Sosyal ağlarda paylaş

Github üzerinden yaklaşık 40-50 kişilik developer kitlesi olan bir projenin 1-1.5 sene maintainerlığını yapmış biri olarak yorum yapacağım.

reyou said:

ben acik kaynak kodlu projelere katilmak istiyorum ama bazi sorular var kafamda

1- heryerde bir github dir gidiyo, ben tfs disinda bi sourse control management kullanmadim, cok farkli seylermi?


Çok fazla tfs kullanmadığımdan tam bir karşılaştırma yapamam, ama basit işler için (pull, push) konsept çok farklı değil. İleri düzey muhabbetler için git'i biraz kurcalamak gerekiyor, ama project maintainerlık yapmadığın ve diğerlerinin gönderdiği PR'ları (Pull Request) mergelemediğin sürece çok fazla ileri düzey şeyle uğraşmana gerek kalmıcak.

O noktada git/github'ya yeni başlayanlar, genelde şöyle bir hataya düşüyor. Bir projeyi forkluyorlar ve direk master/develop branch'ında kodlarını yazıp PR'lıyorlar. Bu PR'ların ana projeye merge edilmesi zaman alabileceğinden, ilkinden bağımsız ayrı bir feature-set kodunu aynı branch üzerinde geliştirdiğinizde, yeni commit'lerde ilk gönderdiğin PR'a dahil oluyor, bu da sıkıntı yaratıyor. Onun için birbirinden bağımsız her feature-set, bugfix için ayrı bir branch açmakta fayda var, böyle hepsi için farklı PR'lar gönderebilirsin.

reyou said:

2- github i vs 2010 da kullanabilirmiyim?


Arkadaşlar zaten bir kaç öneride bulunmuş, onlara göz atabilirsin. Ayrıca SmartGit'te güzel bir gui'dir. Yinede şunu belirtmek istiyorum, bu gui'leri mümkün mertebe sadece basit pull/push'lar için kullanmak en güzeli. Onun dışında upstream'den merge/fetch durumları için GUI'ler yerine git konsol'dan işi halletmek gui'lere göre çok daha basit oluyor.

reyou said:

3- simdi ben bide sundan korkuyorum, adamlar ya yazdigim kodu begenmezlerse? :D ne biliyim spagetti yaziyon sen, facade pattern kullanmiyon falan diye dislarlarsa diye simdiye kadar hic katilma girisimim olmadi.. bole seyler oluyomu?


Dışlama gibi birşey olmaz, açık kaynak projeler, tamamen gönüllük tabanlı olduğu için, maintainer'lar mümkün mertebe her gönüllüyü değerlendirmeye çalışır.

Ha kod beğenilmeyebilir, o durumda github'ın gönderilen PR'lar için satırlara comment yapabilme gibi bir özelliği var. Oradan zaten diğer developelar veya maintainer bu yorumları eklerler ve senden PR'ı düzeltmeni isterler.

Burada en önemli şey, birinci maddede de demiş olduğum gibi, her PR'ı tek feature-set/bugfix olacak şekilde göndermen, birden fazla birbirinden alakasız özelliği tek PR'da göndermen genelde maintainerlar açısından can sıkıcı olacaktır.

Bu PR'lar konusunda küçük bir nokta daha var. Genelde PR'lar bir test/deneme sürecinden geçmeden direk master repo'ya merge edilmez. Bu da bir süre beklemesi anlamına gelirki, bu süreç içinde master repo içeriye alacağı diğer PR'lardan dolayı senin PR'ını conflicted duruma getirebilir.

Genelde bunla sıkça karşılaşırız ve PR'ı gönderen kişiden conflict'i fixlemesini isteriz. Basitce bunu upstream'den merge ederek yapabilirsin. Bunun içinde küçük bir ipucu vereceğim;

git konsol'dan önce upstream'den merge etmen gerekir; Örnek vermek gerekirse MonoGame projesine kod yazıyor olalım ve benim fork'umu temel alalım. Kendi forkumuzda çalıştığımız branch, some-feature olsun, bunu MonoGame develop branch'ına PR ile göndermiş olalım, fakat conflicted durumda olsun;

[list]
[*] Öncelikle upstream'i tanımlamamız lazım (bu tek seferlik bir işlem); git remote add upstream https://github.com/mono/MonoGame.git
[*] Öncelikle kendi branchımızı güncelleyelim; git pull.
[*] MonoGame develop'dan son değişiklikleri alalım; git pull upstream develop.
[*] Konsolda branch kısmında CONFLICTED yazıyorsa, burada yapılacak en guzel sey smartgit veya benzeri bir yazılımla cozumlemek. Bu yazımların 3-way editorleri var bu conflictleri cozmekte cok ıse yarayan. GUI'de (en azından smartgit) için conflicted yazan dosyaları tek tek cift tıklayıp, duzeltmek gerekiyor. Kucuk bir ipucu ise, bu sekilde conflict duzeltmesi yaptıgınız commitlerde, otomatik olarak gelen duzeltmeyi anlatan bir mesaj olacaktır, o mesajı mumkun mertebe maintainerların ısını kolaylastırmak acısından, kullanmak iyi oluyor.
[*] Son olarakda problemleri cozup kendi branch'ımıza push ettigimizde, PR'ımız otomatik olarak guncellenecek ve duzeltılmıs olacaktır; git push
[/list]
reyou said:

4- su projeden basla diyebilceginiz bi seyler varmi?


bence en guzeli su listeden calısmak ıstedıgın dıle uygun en populer projelere goz atmak; https://github.com/languages
Link to comment
Sosyal ağlarda paylaş

  • 1 ay sonra ...
×
×
  • Yeni Oluştur...