GitHub'daki belirli bir projeye katkıda bulunmak istiyorum . Ben Meli çatal bunu? Dal mı? Ne önerilir ve nasıl yapılır?
GitHub'daki belirli bir projeye katkıda bulunmak istiyorum . Ben Meli çatal bunu? Dal mı? Ne önerilir ve nasıl yapılır?
Yanıtlar:
İdeal olarak:
yeni bir Özellik isteği ise, önce kodlamayı başlatmayın. Yeni özelliği tartışmak için bir sorun yayınlamayı unutmayın.
Özellik iyi tartışılıyorsa ve +1 veya proje sahibi onayladıysa, sorunu kendinize atayın, ardından yukarıdaki adımları uygulayın.
Bazı projeler çekme talebi sistemini kullanmaz. Kodunuzu tekrar projeye geri getirmenin en iyi yolu için yazar veya posta listesine başvurun.
Yann'ın cevabına eklemek için , bir projeyi çatalladıktan sonra, istediğiniz herhangi bir dalda (yeni bir tane veya orijinal projeden bir tane) geliştirebilirsiniz.
Hatırla:
origin
', çünkü origin
kendi repo, çatalın sonucu olacak)git checkout master;
git pull;
aynı geliştirme için (özellik branşımın ilk olarak birleştirildiği yer) Düşünebileceğim fark "pull vs pull --rebase" ve "merge vs rebase" okuduktan sonra sadece düz bir tarih. Daha derin bir şey var mı?
Yan ve VonC'nin cevaplarına eklemek için, bu github'dan iyi bir kaynaktır: http://help.github.com/forking/
Ayrıca, "ortak çalışma" başlığı altındaki sağ kenar çubuğuna baktığınızdan emin olun.
Burada süreç boyunca size yol gösteren harika bir Railscast videosu var . Ayrıca, katkıda bulunurken, testler, alt modüller vb.
Bu screencast öncelikle Rails geliştiricilerine odaklanırken, bilgilerin çoğu herhangi bir açık kaynak projesine katkıda bulunmak için geçerlidir.
Github, bir projeyle işbirliği yapmanın birçok yoluna sahiptir. Çoğu proje kullanım modeli bir çekme talebi modelidir. İnsanların ilk GitHub çekme talebini yapmalarına yardımcı olmak için bir proje başlattım. İlk PR'nizi burada yapmak için uygulamalı öğreticiyi yapabilirsiniz
İş akışı aşağıdaki gibi basittir:
git push origin branch-name
Compare and pull request
düğme görmek için GitHub'daki çatalınıza gidinlornajane'de süreci iyi açıklayan bir blog yazısı var: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
Aşağıdaki iş akışını öneririm:
Klonlama (komut satırında)
git clone <url-from-your-workspace>
Yeni oluşturulan dizini girin ve bir şube oluşturun
cd <directory>
git checkout -b <branchname>
Şimdi değişikliklerinizi yapın
Her değişiklikten sonra bir veya daha fazla taahhüt oluşturabilirsiniz:
commit -a
İşiniz bittiğinde değişikliklerinizi itin
git push origin <branch>
Komut satırınızda, PR oluşturmak için bir URL görmelisiniz . URL'yi ziyaret edin ve bir PR oluşturmak için düğmeyi tıklayın.
Değilse, tarayıcıdaki havuzu ziyaret edin ve çekme isteğini oluşturmak için size bir düğme sunacaktır.
Bu kadar.
Yani, temel olarak, depoyu çalışma alanınıza çatalladınız, yeni bir şube oluşturdunuz ve o yeni dalı ittiniz.
Daha sonra aynı klonlanmış repodan daha fazla PR yaparsanız, başka bir PR için başka bir şube oluşturmadan önce senkronize etmelisiniz (orijinal depodaki en son değişiklikleri almalısınız):
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
Bu öneriler sizi bir araya getirilmeyecek bir PR'ye çalışma zahmetinden kurtarmak için burada. Projede faaliyet varsa ve halkla ilişkiler birleştirilirse, bu iyi bir işarettir. Katkı İlkeleri varsa, bunları uygulayın.
Her zaman saygılı olun. Unutmayın, proje sahipleri hiçbir şekilde PR'nizi birleştirmek zorunda değildir. Projeye eklemek için değerli bir şey var mı?