Je voudrais contribuer à un certain projet dans GitHub . Dois-je fourcher cela? Branche c'est? Qu'est-ce qui est recommandé et comment le faire?
Idéalement vous:
s'il s'agit d'une nouvelle demande de fonctionnalité, ne commencez pas par commencer le codage. N'oubliez pas de publier un problème pour discuter de la nouvelle fonctionnalité.
Si la fonctionnalité est bien discutée et qu'il y a quelques +1 ou que le propriétaire du projet l'a approuvée, attribuez-vous le problème, puis suivez les étapes ci-dessus.
Certains projets n'utiliseront pas le système de demande d'extraction. Vérifiez auprès de l'auteur ou de la liste de diffusion quel est le meilleur moyen de réintégrer votre code dans le projet.
Pour ajouter à réponse de Yann , une fois que vous avez créé un projet, vous pouvez développer n'importe quelle branche de votre choix (une nouvelle ou une du projet original).
Se souvenir de:
Origin
', puisque Origin
serait votre propre dépôt, résultat du fork)Pour ajouter aux réponses de Yan et VonC, c’est une bonne ressource de github eux-mêmes: http://help.github.com/forking/
Assurez-vous également de regarder dans la barre latérale droite sous la rubrique "collaborer".
Il existe une excellente vidéo Railscast ici qui vous guide tout au long du processus. Il contient également un certain nombre de conseils utiles, comme expliquer comment déterminer la branche sur laquelle vous souhaitez travailler, en utilisant des tests, des sous-modules, etc.
Bien que ce screencast se concentre principalement sur Rails), la plupart des informations sont valables pour contribuer à tout projet open source.
Github a plusieurs façons de collaborer à un projet. Le modèle le plus utilisé par les projets est un modèle de demande d'extraction. J'ai lancé un projet pour aider les gens à faire leur première demande de tirage GitHub. Vous pouvez faire le tutoriel pratique pour faites votre premier PR ici
Le flux de travail est simple comme
git Push Origin branch-name
Compare and pull request
boutonlornajane a un article de blog qui explique bien le processus: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
Je suggérerais le flux de travail suivant:
Cloner (dans la ligne de commande)
git clone <url-from-your-workspace>
Entrez le répertoire qui vient d'être créé et créez une branche
cd <directory> git checkout -b <branchname>
Maintenant, faites vos modifications
Vous pouvez créer un ou plusieurs commits après chaque modification:
commit -a
Lorsque vous avez terminé, appuyez sur vos modifications
git Push Origin <branch>
Dans votre ligne de commande, vous devriez voir une URL pour créer le PR . Visitez l'URL et cliquez sur le bouton pour créer un PR.
Sinon, visitez le référentiel dans le navigateur et il vous proposera un bouton pour créer la demande d'extraction.
C'est ça.
Donc, en gros, vous avez créé le référentiel dans votre espace de travail, créé une nouvelle branche et déplacé cette nouvelle branche.
Si, par la suite, vous créez plus de relations publiques à partir du même référentiel cloné, vous devez synchroniser (obtenir les dernières modifications du référentiel d'origine) avant de créer une autre branche pour un autre PR:
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
Ces suggestions sont là pour vous éviter la peine de mettre du travail dans un PR qui ne sera pas fusionné. S'il y a de l'activité dans le projet et que les relations publiques sont fusionnées, c'est un bon signe. S'il existe des directives de contribution, suivez-les.
Toujours être courtois. Rappelez-vous que les responsables du projet ne sont aucunement obligés de fusionner vos relations publiques. Avez-vous quelque chose de précieux à ajouter au projet?