Travailler avec GitHub Issues et Pull Requests¶
Avertissement
Cette section est librement adaptée de l’official GitHub guides.
Issues¶
Une Issue est une note sur une repository de quelque chose qui a besoin d’attention. Ça petu être un bug, une demande de fonctionnalité, une question ou beaucoup des d’autres choses. Sur GitHub, vous pouvez étiqueter, rechercher et assigner les Issues, rendant la gestion active du projet plus facile.
Par exemple, nous allons a voir la section Issues des Bootstrap:

La gestion des Issues sur GitHub est particulière en raison de son focalisation sur la collaboration, références et formatage de texte excellent. Une issues typique sur GitHub ressemble un peu à ceci :

A titre et description décrire ce que la question est tout au sujet.
Code couleur étiquettes vous aider à classer et filtrer vos problèmes (tout comme les étiquettes dans l’email).
A milestone agit comme un conteneur pour les questions. Ceci est utile pour associer des questions avec des caractéristiques spécifiques ou des phases du projet (p. ex. Weekly Sprint 9/5-9/16 or Shipping 1.0).
Un cessionnaire est chargé de travailler sur la question à un moment donné.
Commentaires permettre à toute personne ayant accès au référentiel pour fournir des commentaires.
Ouvrir une issue¶
Cliquez sur l’onglet Issues de la barre latérale.
Cliquez sur New Issue.
Donner votre Issue, un titre et une description.
Cliquez sur Submit new Issue lorsque vous avez terminé. Maintenant, cette question a une résidence permanente (URL) que vous pouvez référencer la même après il est fermé.
Délivre des conseils Pro¶
Vérifiez existant questions pour votre question. Un problème de duplication est plus lente pour les deux parties afin de rechercher à travers des questions ouvertes et fermées pour voir si ce que vous exécutez dans a été abordée déjà.
Être clair tout ce que votre problème est : quel était le résultat attendu, ce qui est arrivé à la place ? Détailler comment quelqu’un d’autre peut reproduire le problème.
Lien vers démos recréer le problème sur des choses comme JSFiddle ou CodePen.
Inclut système détails comme ce que le navigateur, bibliothèque ou système d’exploitation que vous utilisez et sa version.
Coller la sortie erreur ou journaux dans votre livraison ou dans un Gist. Si en les collant dans le numéro, placez-le dans trois apostrophes inverses:
```
alors qu’il rend très bien.
Branching¶
Branching est la façon de travailler sur les différentes parties d’un référentiel à un moment donné.
Lorsque vous créez une repository, par défaut, il possède une branche avec le master
de nom. Vous pouvez continuer à travailler sur cette branche et avoir qu’un seul, c’est très bien. Mais si vous avez une autre fonction ou idée que vous voulez travailler sur, vous pouvez créer une autre branche, à partir de master
, de sorte que vous pouvez confier master
de son état de fonctionnement.
Lorsque vous créez une branche, vous faites un copie de la branche d’origine telle qu’elle était à ce point dans le temps (comme un instantané de photo). Si la branche d’origine change pendant que vous travaillez sur votre nouvelle branche, pas de soucis, vous pouvez toujours tirer dans ces mises à jour.

À GeoNode les développeurs utilisent des branches pour garder les corrections de bugs et de travail de la fonction séparée de master
(production) branche. Lorsqu’une fonction ou un fix est prête, la branche est fusionnée en maître à travers un Pull Request.
Créer une nouvelle branche¶
Allez dans le dossier de projet et créer une nouvelle branche
$ cd /home/geonode/geonode_custom/ $ sudo git branch add_logo $ sudo git checkout add_logo
Vérifiez que vous travaillez sur la branche correcte:
add_logo
.$ cd /home/geonode/geonode_custom/ $ git branch
Pousser la nouvelle branche sur GitHub.
$ cd /home/geonode/geonode_custom/ $ sudo git push origin add_logo
Faire un commit¶
Sur GitHub, modifications enregistrées sont appelées commits.
Chaque commit a un associé commit message, qui est une description expliquant pourquoi une modification particulière a été apportée. Grâce à ces messages, vous et autres peuvent lire par le biais de validations et comprendre ce que vous avez fait et pourquoi.
Ajouter un nouveau logo à votre GeoNode personnalisé, comme décrit dans la section Thématisation de votre projet de GeoNode
Planquer les nouveaux fichiers dans le projet de travail à l’aide de
git add
$ cd /home/geonode/geonode_custom/ $ sudo git add geonode_custom/static $ git status
Validation les changements fournissant un comit message et poussez-les dans votre branche:
add_logo
.$ cd /home/geonode/geonode_custom/ $ sudo git commit -m "Adding a new logo to the custom GeoNode" $ sudo git push origin add_logo
Pull Requests¶
Pull Requests sont le cœur de la collaboration sur GitHub. Lorsque vous effectuez une pull request, vous allez proposer vos modifications et demander que quelqu’un va faire un Merge des vos contributions - aka fusionnez-les dans leur branche. La fonctionnalité des Pull Requests de GitHub vous permettent de comparer le contenu de deux branches. Les modifications, additions et soustractions, sont indiquées en vert et rouge et appelées diffs (différences).
Quand vous apportez une modification, vous pouvez ouvrir une Pull Request. développeurs utilisent PR pour commencer une discussion sur les commits (revision du code) avant que le code soit terminé et avant de faire l’action du merge. De cette façon vous pouvez obtenir les impressions des autres développeurs ou leur aide si vous etes bloquè.
Grâce au système @mention de GitHub dans votre message de demande de tirer, vous pouvez demander des commentaires de personnes spécifiques ou des équipes.
Créer une Pull Request pour modifier le Logo¶
Cliquez sur l’icône de demande de tirer sur la barre latérale, puis de la page demande de tirer, sur le vert New pull request bouton nouveau.
Sélectionnez la branche que vous faites,
add_logo
, à comparer avecmaster
(l’original).Regarder par-dessus vos modifications dans les diffs sur la page de comparaison, assurez-vous qu’ils sont ce que vous voulez soumettre.
Lorsque vous êtes convaincu que ce sont les changements que vous voulez envoyer, cliquez sur le gros bouton vert créer Create Pull Request.
Donnez un titre à votre demande de tirer et puisqu’elle se rapporte directement à une question ouverte, ajouter “fixes #” et le numéro de la question dans le titre. Écrire une brève description de vos modifications.
Lorsque vous avez terminé avec votre message, cliquez sur Create pull request!
Fusionnez votre Pull Request¶
Il est temps de rassembler vos modifications – fusionner votre branche de add_logo
dans la branche master
(l’original).
Cliquez sur le bouton vert pour fusionner les modifications dans le maître. Cliquez sur confirmer fusionner. Allez-y et supprimer la branche, étant donné que ses modifications ont été incorporées, avec le bouton de direction de supprimer dans la boîte de pourpre.
Si vous revisitez sur la question que vous avez ouvert, il est maintenant terminée ! Parce que vous avez inclus “fixes #1” dans le titre de votre demande de tirer, GitHub a pris soin de fermer cette question lorsque la demande de tirer a été fusionnée !