Zor gelir. Bir işi ilk kez yapmak her zaman zor gelir. Özellikle birileriyle işbirliği içindeyseniz, hata yapmak içinize sinmez. Fakat açık kaynağın temelinde işbirliği ve birlikte çalışma yatar. Biz açık kaynak projelere ilk kez katkıda bulunacak kişilerin süreci öğrenmesini ve ilk katkılarını sunmalarını kolaylaştırmak istiyoruz.
Makale okumak ve eğitim videoları izlemek yardımcı olabilir, fakat bir işi gerçekten yapmanın yerini ne tutabilir ki? Bu proje yeni başlayanların veya ilk defa katkıda bulunacakların işini kolaylaştırmak ve onlara rehberlik etmek amacındadır. Unutmayın ki ne kadar rahat olursanız o kadar rahat öğrenirsiniz. Eğer bir GitHub projesine ilk defa katkıda bulunacaksanız, aşağıda gösterilen basit adımları izlemeniz yeterli olacaktır. Söz veriyoruz, eğlenceli olacak.
Eğer bilgisayarınızda git kurulu değil ise, yükleyin .
Sayfanın sağ üst köşesinde bulunan "Fork" butonuna basıp bu projeyi çatallayın. Bu işlem sizin hesabınız altında projenin bir kopyasını oluşturacaktır.
Şimdi bu depoyu bilgisayarınıza klonlayın. GitHub hesabınıza gidin, çatalladığınız depoyu açın, 'clone' butonuna basıp ardından copy to clipboard ikonuna basın.
Daha sonra komut istemini açıp aşağıdaki git komutunu çalıştırın:
git clone "kopyaladığınız-url"
"kopyaladığınız-url" (tırnak işaretleri olmadan) yerine bu deponun GitHub sayfasından aldığınız linki koplayın.
Örneğin:
git clone https://github.com/kullanıcı-adi/first-contributions.git
kullanıcı-adi
sizin GitHub kullanıcı adınız. Burada GitHub üzerinde bulunan first-contributions reposunun içeriğini bilgisayarınıza kopyalıyorsunuz.
Eğer henüz klasör içinde değilseniz komut isteminde ana klasörünün konumuna gidin:
cd first-contributions
git checkout
komutunu kullanarak yeni bir dal(branch) oluşturun:
git checkout -b <sizin-yeni-dal-isminiz>
Örneğin:
git checkout -b ekle-aydin-cagri-dumlu
(Dal ismi içinde ekle kelimesinin geçme zorunluluğu yok, fakat bu dal isminizi katkı sunanlar listesine ekleme amacıyla oluşturulduğundan, ekle yazmak mantıklı olacaktır.)
Şimdi, bir metin editöründe Contributors.md
dosyasını açın. Hafif bir işaretleme dili olan Markdown'a alışkın olmanız gerekmektedir. Nasıl kullanacağınızı öğrenmek için bu kopya kağıdına göz atabilirsiniz.
Contributors.md
dosyasının sonuna bu satırı ekleyin:
- [İsminiz](https://github.com/kullanici-adiniz)
Örneğin:
- [Ahmet Yılmaz](https://github.com/ahmet-yilmaz)
](
arasında boşluk olmadığından emin olun. Dosyayı kaydedin ve kapatın.
Komut istemi üzerinde proje klasörüne gidip git status
komutunu yazdığınızda yaptığınız değişiklikleri göreceksiniz.
git add
komutu ile bu değişiklikleri oluşturduğunuz dal içine ekleyin.
git add Contributors.md
Şimdi git commit
komutunu kullanarak değişikliklerinizi onaylayın (commit):
git commit -m "<isminiz> katkıda bulunanlar listesine eklendi"
<isminiz>
yerine kendi isminizi yazın.
(Ç.N: Açık kaynak dünyasında dünyanın farklı yerlerinden insanlarla birlikte çalışacağınız için onay mesajını İngilizce yazabilirsiniz.)
git push
komutu ile değişikliklerinizi ittirin:
git push origin <ekle-sizin-dal-isminiz>
<ekle-sizin-dal-isminiz>
yerine daha önce oluşturduğunuz dalın ismini girin.
Oluşturduğunuz deponun Github sayfasında Compare & pull request
butonunu göreceksiniz. Bu butona basın.
Şimdi çekme isteğini (pull request) gönderin.
Yaptığınız değişiklikleri en kısa zamanda projenin "master" dalı ile birleştireceğiz. Bu işlem tamamlandığı zaman bir bilgilendirme e-postası alacaksınız.
Tebrikler! Katkıda bulunan kişi olarak sıklıkla karşılaşacağınız standart çatal -> klon -> düzenle -> çekme isteği iş akışını tamamladınız!
Sunduğunuz katkının coşkusunu yaşamak ve bunu arkadaşlarınız ve takipçilerinizle paylaşmak için bu bağlantıdaki uygulamamızı kullanabilirsiniz.
Bir sorunuz veya yardıma ihtiyacınız olursa Slack takımımıza katılabilirsiniz. Slack takımına katıl
Artık diğer projelere katkı sunmaya hazırsınız. Çözmeye başlayabileceğiniz giriş seviyesindeki konulara (issue) sahip projeleri sizin için derledik.
GitHub Desktop | Visual Studio 2017 | GitKraken | Visual Studio Code | Atlassian Sourcetree | IntelliJ IDEA |