Bonjour, bonsoir à toutes et à tous !

Depuis longtemps, beaucoup de membres se demandent comment contribuer à PSDK. C’est vrai qu’au premier abord cela peut faire peur lorsqu’on voit les deux trois programmeurs de la communauté arriver et dire :
Hey ! Tu sais, si tu veux contribuer à PSDK c’est facile ! Il suffit d’utiliser git !
ou bien :
Salut ! Tu me fais une merge pour fermer l'issue ?
ce n'est pas très engageant.
C'est pour cela que j'ai décidé de vous faire un petit tutoriel sur git et Gitlab, ce qui vous permettra je l'espère de pouvoir plus contribuer à PSDK tant pour les scripts que pour le wiki.
Je vous prie également pour m'excuser pour la mise en page, ceci est un de mes premiers tutorielsFocus sur Gitlab
Gitlab est un gestionnaire de dépots distants git.
Mais qu'est-ce que tu dis, c'est du charabia tout ça !
C'est vrai que ça peut paraître compliqué à comprendre, je m'explique : Gitlab est un site internet sur lequel on peut gérer, modifier et partager des modifications de scripts effectuées sur son PC à l'aide de git. Il existe de nombreux gestionnaires de dépots distants dont les plus connus sont :
Bitbucket

Github

Et celui qui nous intéresse :
Gitlab

Le Gitlab de PSDK réunit plusieurs projets. Avant, Nuri Yuri possédait un projet sur son propre compte appelée pokemonsdk. Mais avec la demande de plus d'un projet et de l'arrivée croissante de nouveaux développeurs, il a ouvert un
groupe Gitlab dédié :

Vous pouvez donc contribuer à chacun des projets de Pokémon SDK. Je prendrai ici l'exemple des scripts car il est pour moi le plus parlant, mais cela fonctionne de la même manière pour le wiki, le projet de base, les plugins ou les tests.
1. Créer son fork
La première étape pour pouvoir appliquer des modifications au projet de développement de PSDK est de créer un "fork" (je suppose que vous avez déjà créé un compte gitlab). Il s'agit d'une copie du projet de base qui vous permet de faire tout ce que vous le souhaitez sans altérer le projet principal (une erreur critique présente sur votre fork ne sera pas présente sur la branche principale de PSDK).
Pour créer un fork, rendez vous sur
la page des scripts de PSDK.Appuyez ensuite sur ce bouton :

2. Lier sa branche development au gitlab officiel
Vous avez maintenant un fork de pokemonsdk sur votre compte gitlab. Il faut maintenant s'assurer que votre branche development est liée à votre propre repository (projet) afin d'être toujours à jour et de pouvoir modifier sereinement sans vous demander si vous êtes à jour. Pour cela, il faut aller dans les options de la repository :

Puis vérifier que la branche development est marquée en protected branch :

Une fois que vous avez vérifié cela, vous devez créer une mirroring repository, juste au-dessus comme ceci (en remplaçant yyyyj par votre pseudo gitlab) :

Lorsque vous avez fini de réaliser ces étapes, vous pouvez fermer gitlab : la configuration est terminée

! Attaquons-nous à git !
Git
Git est le gestionnaire local de vos modifications. C'est lui qui vous permettra d'envoyer les modifications effectuées sur votre PC sur la repository distante.
Bon, pour les adeptes des logiciels WYSIWYG, je suis désolé je ne sais pas utiliser les utilitaires comme GitKraken, je vais donc vous montrer en console gitEncore une fois, je suppose que vous avez installé
git avec le git bash ou de quoi utiliser git dans l'invite de commandes Windows.
1. Créer le clone de la repository
C'est bien beau tout ça

, vous avez une belle repository gitlab mais il faut pouvoir la modifier sur le PC ! C'est là que git intervient :

En appuyant sur Entrée, vous devriez obtenir ceci :

Vous avez donc un dossier pokemonsdk à l'endroit où vous avez ouvert votre git bash ou votre cmd (faites donc attention à ne pas cloner vos dossiers n'importe où) !
Vous pouvez donc modifier les fichiers à votre guise (mais lisez bien jusqu'au bout car il y a des précautions à prendre /!\). Il faut maintenant vous apprendre à renvoyer ces modifications sur la repository gitlab distante.
2. Envoyer les modifications sur votre fork
Il existe différentes commandes git intéressantes pour la modification et l'envoi vers le fork. Tout d'abord la plus importante est sans doute :
git checkout -b nombranch
avec nombranch à remplacer par votre nom de branche. Cette commande permet de créer une nouvelle branche et de se positionner dessus (elle permet de ne pas réécrire sur votre branche development qui est synchronisé avec celle de Yuri).
/!\ N'oubliez jamais de faire ceci avant d'effectuer une quelconque modification sinon vous risqueriez de détruire votre configuration gitlab !!
Mais il y en a d'autres comme :
git status
Pour vérifier quels fichiers ont été modifiés : en vert les changements prêts à être envoyés sur le fork (via un commit) et en rouge les éléments non-tracés.
git add directory_or_file
Remplacer directory_or_file par un nom de dossier ou un nom de fichier pour ajouter le/les fichier(s) au prochain commit (un paquet qui réunit un certain nombre de modifications qui possède un titre)
git commit -m "Message"
Remplacer Message par le message de votre choix. Cela crée un paquet avec les modifications et les prépare à être envoyées sur le fork.
git push
Envoie les modifications préalablement empaquetées dans un commit sur le fork.
git pull
Met à jour le dossier local par rapport aux modifications récupérées sur la repository internet.
git stash
Garde les modifications en mémoire et autorise la réécriture d'un git pull même s'il y a des différences notables entre le dossier local et la repository distante.
--set-upstream origin branch
Argument à ajouter après un git push ou un git pull pour définir le lieu où doivent être envoyés les fichiers (remplacer branch par le nom de la nouvelle branche créée)
git checkout nombranch
Pour changer votre branche de travail (passer d'une branche à une autre). Cela change vos fichiers locaux.
Dernier retour sur Gitlab
Ca y est, vous avez bien travaillé et vous avez mis vos modifications sur une branche de votre projet gitlab. Seulement, vous êtes sûrement le seul à pouvoir en profiter car personne ne sait (ou presque) que vous avez effectué ces modifications et si celles-ci sont conformes aux normes de programmation en vigueur.
Pour ajouter vos fichiers au projet communautaire de PSDK, il vous faut donc ouvrir une merge request :

Puis :

C'est donc tout !

Vous n'avez plus qu'à attendre la validation de Yuri !