Duyuru: Bu projede yönetici olmak ve projenin sürdürülmesine yardımcı olmak ister misiniz?? Eğer ilgileniyorsanız, bana Twitter'dan DM atabilir ve klavuz'u inceleyebilirsiniz.
Bu eğitim aracılığıyla Github üzerinde ilk kez katkıda bulunacak kişilerin, basit ve kolay bir projeye katılmalarına yardımcı olunması amaçlanmıştır.
Bu eğitim başka dillerde de mevcuttur diğer diller (Şimdilik İngilizce, Portekizce, İspanyolca, ve İtalyanca. Bu konuda çeviri destekleriniz memnuniyetle karşılanır).
- Açık kaynaklı bir projeye katkıda bulunulması.
- GitHub'ta kullanım kolaylığı elde edilmesi.
- Eğitim yeni başlayanlar için olmak ile birlikte
<a href="" target=""></a>
bağlantı etiketini nasıl yazacağınızı ve düzenleyeceğinizi biliyorsanız, uygulamamızı başarabilirsiniz. - Ayrıca biraz daha deneyim sahibi ancak ilk açık kaynak katkısını yapmak veya konu ile ilgili daha fazla güven ve ekstra deneyim amacıyla katkıda bulunmak isteyenler içindir.
Hevesli veya deneyimli herhangi bir web geliştiricisinin Git versiyon kontrolünü ve herkes tarafından kullanılan en popüler Git barındırma hizmeti olan GitHub’ı kullanması gerekir. Github Aynı zamanda Açık Kaynak topluluğunun da kalbidir. GitHub'ı rahat kullanmak önemli bir beceridir. Github üzerinde bir projeye katkıda bulunmak kendinize olan güveninizi arttıracak ve size GitHub profilinizde sunabileceğiniz bir içerik vererek profil değerinizi arttıracaktır.
Yeni bir geliştiriciyseniz, Git ve GitHub'ı öğrenmeniz gerekip gerekmediğini merak ediyorsanız işte cevap: Git'i Dün Öğrenmiş Olmalıydın.
Proje web sayfası'ndaki bunun gibi bir kartla katkıda bulunacaksınız. Üzerinde Adınızı, Twitter kullanıcı adınızı, kısa bir açıklamayı ve tavsiye ettiğiniz web geliştiricileri için faydalı kaynaklara yönelik 3 bağlantıyı içerecektir.
HTML dosyasının içindeki kart şablonunun bir kopyasını oluşturacak ve kendi bilgilerinizle özelleştireceksiniz.
İlk önce uygulamamızı gerçekleştirmek için kurulumu yapalım
- GitHub hesabınıza giriş yapın. Henüz bir hesabınız yoksa Github'a kayıt ol. Devam etmeden önce GitHub Merhaba Dünya eğitimini yapmanızı tavsiye ediyoruz.
- GitHub Masaüstü uygulamasını indirin.
- • Alternatif olarak, Git'i komut satırında kullanmakta rahatsanız, yapabileceğiniz ilk katkılar, gerekli komutlar için rehber olarak hizmet edebilecek benzer bir projedir. VEYA
- VS Code kullanıyorsanız, VS Code entegre Git ile birlikte gelir ve ihtiyacımız olanı doğrudan düzenleyiciden yapmanızı sağlar.
- Ancak bu eğitimi uygulamanın en basit ve en kolay yolu GitHub Desktop kullanmaktır.
Artık hazır olduğunuza göre, projeye katkıda bulunma işine geçebiliriz.
10 kolay adımda açık kaynağa katkıda bulunun.
Tahmini süre: 30 dakikadan az.
- Buradaki amaç, bu projenin bir kopyasını oluşturmak ve hesabınız bünyesine yerleştirmektir.
- GitHub'da bir proje depo(repo) olarak adlandırılmakta, çatal(fork) ise bunun kopyalanmasıdır.
- Bu reponun ana sayfa'sında (main) olduğunuzdan emin olun.
|
---|
- Artık kendi hesabınızda projenin tam bir kopyasına sahipsiniz.
- Şimdi projenin yerel bir kopyasını oluşturmak istiyoruz. Yani kendi cihazımıza kaydedilmiş bir kopya.
- GitHub masaüstü uygulamasını açalım. Uygulamada:
|
---|
- Proje sabit diskinize kopyalanırken bu biraz zaman alacaktır. Genellikle varsayılan dizini korumanız önerilmektedir.
..\Documents\GitHub
. - Artık projenin yerel bir kopyasına sahipsiniz.
- Depo klonlandıktan ve GitHub masaüstünde açıldıktan sonra yeni bir şube(branch) oluşturma zamanı gelmiştir.
- Dal(branch), değişikliklerinizi projenin
Master
adlı ana bölümünden ayrı tutmanın bir yoludur. Örneğin, işler ters giderse ve değişikliklerinizden memnun değilseniz, şubeyi silmeniz durumunda ana proje etkilenmeyecektir.
|
---|
|
---|
- İstediğiniz bir isim koyabilirsiniz, ancak bu dal(branch) projeye adınızın olduğu bir kart eklemek amacıyla olduğundan,
your-name-card
şeklinde isimlendirmek iyi bir uygulama olacağından bu dalın amacını açık tutar.
|
---|
- Şimdi ana daldan ayrı yeni bir dal oluşturdunuz.
- Sonraki adımlar için bu dalda çalıştığınızdan emin olun. Bulunduğunuz şubenin adını GitHub masaüstü uygulamasının üst orta kısmında Current branch şeklinde yazdığını göreceksiniz.
Lütfen master
branch üzerinde çalışmayın
- Şimdi düzenleyeceğimiz dosyayı favori kod düzenleyicinizle açmanız gerekiyor.
- Bilgisayarınızdaki proje klasörünü bulun. Varsayılanı koruduysanız bu şöyle bir şey olmalıdır
your-computer > Documents > GitHub > Contribute-To-This-Project
index.html
dosyası doğrudanContribute-To-This-Project
klasöründedir.
- Artık düzenleyeceğiniz dosya düzenleyicinizde açık ve üzerinde değişiklik yapmaya hazırsınız.
- Üzerinde çalışmaya başlamak için kart şablonunun bir kopyasını oluşturacağız
- Artık, kişiselleştirmeniz ve düzenlemeniz için size ait kartınız var.
- Şimdi kartımızdaki özelleştirilebilir alanları değiştirerek html düzenlemeye başlayacağız.
|
---|
|
---|
- Twitter dışında bir platform kullanmayı tercih ederseniz twitter simgesini değiştirmeniz gerekecektir
<i class="fa fa-x-twitter"></i>
. Font Awesome Icons'a giderek doğru simgeyi bulmanız sonrasında yalnızcafa-x-twitter
bölümünü örneğinfa-facebook
gibi yeni simgeyle değiştirebilirsiniz.
|
---|
- Tüm değişikliklerinizi kaydettiğinizden emin olun.
- Değişikliklerinizi test edin. BU ÖNEMLİ! Html dosyasını tarayıcınızda açın (üzerine çift taklayarak açabilirsiniz) ve kartınızın sitede nasıl görüneceğine bakın. Bağlantılarınızı tıklayın ve çalıştıklarından emin olun. Konsolu açın (Ctrl + Shift + J (Windows / Linux) veya Cmd + Opt + J (Mac)) ve hata mesajı olmadığını kontrol edin.
- Harika, kodunuzu düzenlemeyi bitirdiniz! Sonraki adımlarda, değişikliklerinizi GitHub'a gönderecek ve ardından ana projeyle birleştirilmek(merge) üzere sunacaksınız.
- GitHub masaüstü uygulamasına geri dönün.
- Değişiklikleriniz staging alanına otomatik olarak eklenecektir.
- Bu, Git'in şuana kadar mevcut gerçekleştirilen tüm değişiklikleri kaydettiği anlamına gelir.
- Bunun uygulamaya yansıdığını görebilirsiniz. Dosyaya eklediğiniz her şey yeşil olacak ve silme işlemleri kırmızı olarak gösterilecektir.
|
---|
|
---|
- Değişiklikleriniz artık kaydedildi veya taahhüt(commit) edildi. Ancak bunlar yalnızca yerel olarak, yani bilgisayarınızda kaydedilmiştir.
- Yerel değişiklikleri Github'daki deponuzla senkronize etmeye Push denir. Yerel deponuzdaki değişiklikleri Github'taki uzak depoya "ittirme(pushlama)" işlemi gerçekleştirilecektir.
|
---|
- Birkaç saniye sonra işlem tamamlanır ve artık bu dalın(branch) tam olarak aynı kopyası hem makinenizde hem de GitHub'da bulunur.
- İşte beklediğiniz an; Pull Request gönderme zamanı.
- Şimdiye kadar yaptığınız tüm işler, hatırladığınız gibi kendi GitHub hesabınızda bulunan çatallanmış proje dahilindeydi(fork).
- Şimdi, değişikliklerinizi birleştirilecek ana projeye gönderme zamanı.
- Orijinal proje yürütücüsünden, gerçekleştirmiş olduğunuz değişikliklerinizi projelerine "çekmesini" istediğiniz için buna Pull Request denir.
- GitHub'da çatalınızın ana sayfasına gidin (üstte çatal simgesi ve kendi kullanıcı adınız olacaktır).
- Deponun üst kısmına doğru, yeşil bir düğme ile vurgulanmış bir çekme talebi mesajı göreceksiniz. (Pull request)
|
---|
|
---|
- Tüm seçenekler sizi şaşırtmasın. Şimdilik sadece bu üç adımı yapmanız gerekiyor.
Allow edits from maintainers
(Bakımcıların düzenlemelerine izin ver) seçeneğini işaretli bırakın.- Şimdi, proje yürütücüsüne bir Pull Request(Çekme talebi) gönderilecektir. İncelenip kabul edildiği anda değişiklikleriniz proje web sayfası'nda görünecektir.
Bu kadar. Başardın! GitHub'ta açık kaynağa katkıda bulundunuz.
Canlı bir web sayfasına kod eklediniz: https://syknapse.github.io/Contribute-To-This-Project
Değişiklikleriniz hemen görünmeyecektir; öncelikle proje yürütücüsü tarafından gözden geçirilip kabul edilmeli ve birleştirilmelidir(merge). Bir kez birleştirildikten sonra kartınız sayfada görünür ve canlı olacaktır.
Gözden geçiren kişinin bir PR üzerinde değişiklik istemesi çok normaldir. Başınıza gelirse iyi bir uygulama olarak düşünün. Yorumlara ve istenen değişikliklere dikkat edin. İstenen değişiklikleri yaptıktan sonra (size ait branch'a geri döndüğünüzde) tek yapmanız gereken değişikliklerinizi taahhüt(commit) etmek ve push etmektir. PR, yeni değişikliklerle otomatik olarak güncellenecektir.
En kısa zamanda incelemeye ve birleştirmeye çalışacağıma söz veriyorum ama bunu boş zamanlarımda yapıyorum, bu yüzden birkaç gün gecikme kaçınılmaz.
- Merge edilmiş Çekme Talebinizi(pull request) kontrol etmek için bir süre sonra tekrar gelin.
- Değişiklikleriniz onaylandığında veya ek değişiklikler istendiğinde GitHub'dan bir e-posta almalısınız. Ve aynı zamanda PR nihayet master ile birleştiğinde ve kartınız eklendiğinde de.
- Bu projeyi faydalı bulduysanız, lütfen sayfanın üst kısmına bir ⭐ yıldız ⭐ verin ve projenin yayılmasına yardımcı olmak için bu konuda Tweet atın.
- Beni takip edebilir ve Twitter veya bu diğer seçeneklerden herhangi birini kullanarak iletişime geçebilirsiniz.
- Bu açık kaynaklı bir projedir, dolayısıyla kartınız ile katkıda bulunmanın yanı sıra hataları düzeltmeye, iyileştirmelere veya yeni özellikleri eklemeye yardımcı olabilirsiniz. Bir issue açabilir ve pull request gönderebilirsiniz.
- Topluluğumuzu geliştirmeye yardımcı olmak için çekme isteklerinin yanında bulunan Github Tartışmalar sekmesine bakabilirsiniz. Bu alan kendinizi tanıtabileceğiniz, açık kaynak hakkında daha derin tartışmalara girebileceğiniz ve proje sorumluları ile iletişim kurabileceğiniz bir yerdir. Bu özelliği geliştirmemize ve topluluğumuzu geliştirmemize yardım edecek misiniz? -Bu projeye katkıda bulunduğunuz için teşekkür ederiz. Şimdi devam edebilir ve diğer projelere katkıda bulunmayı deneyebilirsiniz; acemi dostu katkı seçenekleri için Good First Issue etiketini arayabilirsiniz.
- Ayrıca, PR'leri gözden geçirme ve birleştirme konusunda bana yardım edecek ortak çalışma arkadaşları arıyorum. Daha gelişmiş Git alıştırması yapmak istiyorsanız, lütfen bana Twitter'dan bir DM atın ve maintainer's guide kaynağını okuyun.
Bu proje büyük ölçüde Roshan Jossey'in mükemmel eğitimlere sahip first-conributions projesinden esinlenmiştir.
Ayrıca, özellikle #GoogleUdacityScholars The Google Challenge Scholarship: Front-End Web Dev, 2017 Avrupa kümesindeki büyük topluluktan ilham almıştır.