Contribuer à PSDK

3 Replies • 1088 Views

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 :
Quote from: Programmeur Inconnu
Hey ! Tu sais, si tu veux contribuer à PSDK c’est facile ! Il suffit d’utiliser git !
ou bien :
Quote from: Autre programmeur
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 tutoriels

Focus sur Gitlab
Gitlab est un gestionnaire de dépots distants git.
Quote from: Anonyme
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 git
Encore 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 !

« Last Edit: 19 April 2020, 21:38:30 by yyyyj »

"On ne voit bien qu'avec le coeur, l'essentiel est invisible pour les yeux",  Antoine de St-Exupéry

À lire Tuto Script Article PSDK Tuto Making

Super initiative ce tutoriel !
Je developpe des jeux et des applis, ils sont accessibles sur Itch.io.

Rey

Modérateur

Super tutoriel. :)
J'ajoute que, dans le dernier screen, les boutons "Delete source branch" et "Squash Commit" sont très utiles. Le premier permet de supprimer la branche sur laquelle vous venez de faire vos modifications une fois la Merge Request acceptée et permet de ne pas garder 40000 branches dans votre fork. En ce qui concerne "Squash Commit", il est intéressant de le cocher si votre Merge Request contient plusieurs commits. Il permet de rassembler tous les commits sous une seule bannière et ainsi ne pas polluer l'historique des commits de PSDK. :)

Aerun

Modérateur

Super boulot merci ! :D

There was an error while thanking
Thanking...