Cette page couvre certaines des tâches auxquelles vous pouvez être confronté lors de votre contribution. Les approches mentionnées ici sont conçues pour faciliter le processus et peuvent être appliquées à d'autres projets hébergés sur GitHub ou des plateformes similaires.
Pour plus d'informations sur Git et GitHub, voir la documentation de GitHub
Git est un système de gestion de versions qui permet de gérer les modifications apportées aux fichiers. Les données du wiki d'osu! et l'historique des modifications sont stockés dans un dépôt Git. GitHub est une plateforme de développement qui fournit une interface web pour les dépôts Git et offre un ensemble d'outils pour la gestion des projets.
Afin d'apporter des modifications à un dépôt situé sur GitHub, un contributeur potentiel doit obtenir une copie contrôlée de celui-ci, appelée fork. Lorsque vous créez votre fork du dépôt osu-wiki
, vous prenez un instantané de son contenu à ce moment précis. Pour apporter une contribution significative, synchronisez toujours votre fork avant de faire un ensemble de changements - cela peut être fait directement depuis GitHub :
Allez dans votre fork du dépôt osu-wiki
.
Sélectionnez la branche master
dans la liste déroulante.
Cliquez sur Fetch upstream
, et sélectionnez Fetch and merge
.
Mise à jour de la branche obsolète
Votre branche est maintenant à jour avec le dépôt original.
Cette solution fonctionne bien dans la plupart des cas, bien que la fonctionnalité elle-même ait des capacités limitées. Par exemple, elle ne vous permet pas d'écraser les changements non désirés sur la branche, car elle ne fusionne que la branche master
en amont.
Si vous avez rencontré des problèmes lors de l'utilisation de l'outil GitHub ou si vous souhaitez écraser le contenu de votre branche, vous pouvez utiliser le workflow écrit par les contributeurs du wiki d'osu!.
Ouvrez votre fork et allez dans l'onglet Actions
.
Dans la barre latérale gauche, cherchez Sync with ppy:master
.
Cliquez sur Run workflow
et remplissez les options suivantes :
Menu de répartition des GitHub Actions workflow
master
.{nom de la branche}-backup
sur votre fork avant d'essayer de la mettre à jour.ppy:master
, en supprimant tous ses commits différents. Par défaut, ppy:master
sera fusionné dans la branche cible.Cliquez sur le bouton Run workflow
et attendez que le workflow se termine. Si vous êtes curieux de savoir comment fonctionne l'outil, cliquez sur la tâche de workflow Sync with ppy:master
.
Voir également : Forking Workflow | Atlassian Git Tutorial
Dans votre fork du wiki d'osu!, vous êtes libre de faire des changements et de les sauvegarder. Les commits sont des "points de sauvegarde" individuels du dépôt. Les branches sont des espaces de travail, qui vous permettent de passer d'une version à l'autre du dépôt. Pour faciliter votre travail et garder l'historique du wiki propre et sans parasites, suivez ces directives :
master
, et ne gardez que vos changements dans cette branche. Donnez-lui un nom significatif, comme staff-log-fr
.Rewrite the section about jump patterns
en dit beaucoup plus long que Update fr.md
.Un pull request montre aux autres personnes comment vos modifications affecteront les fichiers. Ajoutez quelques informations à votre pull request pour expliquer vos intentions :
Titre
: un titre descriptif très court pour vos modifications en anglais, ainsi que le nom de l'article. S'il s'agit d'une traduction, commencez par le nom à deux lettres de la langue dans laquelle vous traduisez, entre parenthèses. Exemples :
[FR] Add `BBCode`
Update `Beatmapping` and `Beatmap/Difficulty`
Description
: tout ce que vous voulez signaler aux responsables et autres réviseurs potentiels. Exemples :
Allow edits from maintainers
, car cela permettra aux mainteneurs du wiki de vous aider à améliorer la pull request si nécessaire.Il est préférable d'appliquer les reviews directement via l'interface web de GitHub. Utilisez le bouton Add suggestion to batch
dans l'onglet Files changed
pour appliquer plusieurs reviews simultanément.
Vous pouvez également utiliser le bouton Commit suggestion
pour appliquer une seule suggestion individuellement, à condition que vous fassiez des commits avec parcimonie et avec des messages informatifs.
L'utilisation de ce système marquera automatiquement les suggestions comme résolues. Lors de l'application manuelle des reviews (par exemple, lorsque le réviseur n'a pas ajouté de suggestion directe), marquez-les comme résolues après avoir commis le changement pour éviter d'en oublier. Il est préférable de laisser GitHub appliquer les reviews automatiquement, car cela permet de s'assurer que les suggestions sont appliquées correctement et d'éviter toute erreur de copie manuelle.
Il y a deux raisons pour lesquelles un conflit a pu se produire :
En fonction de la gravité des conflits, deux options s'offrent à vous pour y remédier :
Resolve conflicts
, cliquez dessus. Cela ouvrira une version légèrement différente de l'éditeur web.
<<<<<<<
et =======
correspond à vos modifications, tandis que tout ce qui se trouve entre =======
et >>>>>>> master
correspond à ce qui se trouve dans la branche ppy/master
.<<<<<<<
, =======
, et >>>>>>> master
.Mark as resolved
(cette option n'est disponible que lorsque toutes les parties en conflit du fichier ont été résolues).Resolve conflicts
est bloqué parce que les conflits sont trop compliqués pour GitHub, vous n'avez pas de chance et vous devrez mettre à jour votre branche et refaire vos changements.