Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Outil GitHub

C’est quoi Git?

Git est un système de gestion de versions, aussi appelé versionnage, qui permet de suivre toutes les modifications apportées à des fichiers, généralement utilisés pour le développement de logiciels.

Ce système fonctionne de pair avec un serveur qui accueille et héberge les fichiers en questions.

 

C’est quoi Github?

Github c’est un site et un service d’hébergement de projets Git, avec un système d’historique/versions. Ça permet d’avoir son projet en ligne, accessible par toute une équipe de son choix, et de pouvoir travailler ensemble facilement, mais aussi revenir en arrière en cas de pépin.

Github gratuit fonctionne surtout pour les petits projets. Si on veut faire un gros projet 3D, il faudra payer un abonnement pour avoir plus de place sur leurs serveurs.

Mais pour unity 2D c’est excellent!

Mettre en place Github

Pour commencer il faut un compte github.

Si vous n’en avez pas, vous pouvez en créer un sur le site de github:

mettez un mail, un mot de passe, etc. (IL FAUT UN MAIL AUQUEL LE MAKER A ACCÈS PENDANT L’ATELIER)
Valider votre mail quand github le demande et pour le compte c’est bon.

Ensuite on télécharge et on installe github desktop:

https://desktop.github.com/

Github desktop va normalement vous demander de vous connecter à votre compte. Si ce n’est pas le cas, vous pouvez aller dans Fichier > options, et le faire ici.

Et voilà, on a mis en place un github.

Créer/Ajouter un projet sur Github

Créer un projet

Sur Git il existe deux façons de créer un projet:

  • Créer un tout nouveau projet vide
  • Ajouter un projet existant en tant que projet Git

Les boutons Create et Add permettent de faire un nouveau projet.
Le bouton Clone permet d’ajouter un projet qui est déjà en ligne sur notre compte github. (Ou un projet en ligne auquel on a été ajouté en tant que collaborateur)

La 1er fois que l’on ouvre Github Desktop, ces boutons sont au centre de l’écran.

Si on a déjà un (ou des) projets dans Github Desktop, on retrouve ces boutons dans le menu fichier en haut à gauche:

Pour ceux qui sont sur Unity il faut d’abord décider qui va créer le projet Unity, et inviter les autres membres du groupe en collaborateurs.

Cette personne va créer son projet dans Unity Hub, normalement.

Quand on clique sur ajouter un projet local, on aura alors cette fenêtre:

Qui permet de choisir son dossier.
Si c’est un projet neuf, il n’existe pas encore sur Git, on a donc un message qui nous dit de créer le projet sur Git.

En cliquant le message, on arrive sur la même fenêtre que si on avait cliqué sur « New repository »

On peut choisir le nom du projet sur Git (Name) et le logiciel ou langage utilisé (Git Ignore) (on choisit Unity dans le Git ignore pour ceux qui sont sur Unity)

Une fois fait (si la fenêtre de Add est restée ouverte on peut la fermer)
On envoie notre projet sur le serveur pour la 1er fois avec le bouton « Publish »:

Ajouter quelqu’un à un projet

Pour pouvoir travailler sur un projet, il faut que son créateur nous ait mis en collaborateur dessus:

Sur le site de Github, sur la page du projet, on a dans les Settings un menu “Collaborators”

C’est là qu’on peut ajouter les gens par leur pseudo Github.

Attention la personne va recevoir un mail pour accepter l’invitation. Il faudra cliquer sur le lien du mail pour accepter de rejoindre.

Récupérer un projet qui existe sur le serveur

Les collaborateurs vont pouvoir accéder au projet et le télécharger.

Cette fois dans Github Desktop on choisit l’option Clone repository.

Github affiche alors une fenêtre avec tous les projets de notre compte, y compris ceux partagés.

Attention à bien choisir le dossier pour télécharger et installer le projet en bas.

Une fois validé, on va indiquer à Unity que ce projet est là.

Dans Unity Hub, on clique la petite flèche de Open, et on choisit: from disk

On n’a plus qu’à retrouver le dossier du projet!

Utiliser Github

Interface

  1. La liste des projets et le projet actif
  2. Changes:  (et 4) Les fichiers qui sont différents par rapport à la version qui est sur le serveur en ligne
  3. History: L’historique des changements faits sur le serveur.
  4. Le navigateur de fichier.
  5. Zone de Commit: Pour envoyer ses changements sur le serveur il faut nommer et décrire brièvement ces derniers, puis cliquer sur commit
  6. Zone de Push et Pull: Pour valider l’envoi des changements ou récupérer une mise à jour sur le serveur
  7. Aperçu fichier: le détail des changements dans le fichier sélectionné en (4)
 

Commit, Push et Pull

Quand on se prépare à envoyer nos changements on appelle cela un Commit.

Il est de bonne pratique de mettre un titre et une description des changements les plus importants que l’on a fait.

 


Quand on envoie son commit, on appelle cela un Push. Le push remplace les fichiers sur le serveur par leur nouvelle version qui est dans le commit.

Quand on récupère une mise à jour, on appelle cela un Pull. Une bonne pratique est de faire un Pull avant de commencer à travailler pour être sûr d’avoir la dernière version.

Conflits

Si on ne Pull pas avant de commit, on peut se retrouver à essayer de push, et Github va nous dire que c’est impossible, et qu’il faut Stash nos changements.

C’est-à-dire les mettre de côté, pour d’abord faire un Pull, puis voir les conflits et les résoudre avant de Push.

En cas de conflits (quand un fichier à été modifié par 2 personnes, que l’une à push, et l’autre essaye de push) Github va nous prévenir, et nous montrer les fichiers en question

Il faut alors choisir quelle version du fichier on veut garder, celle du serveur (origin/main), ou la nôtre. (main)

Ce genre de conflit ne peut pas se régler seul, il faut absolument communiquer avec le reste de l’équipe pour savoir quels changements on été fait, et donc décider quelle version doit rester.

Astuces

  • Le plus important quand on utilise un outil comme Github c’est la communication. Il faut bien informer le groupe de ce que l’on fait, des tâches à faire, et des tâches finies, pour éviter les conflits.

  • On peut aussi diviser le projet avec des dossiers.
    Chaque participant à un dossier à son nom, et ne modifie que les éléments dans son dossier au début.

  • Puis au fur et à mesure que le projet doit être regroupé, on discute en groupe pour savoir qui fait le regroupement, quels morceaux en premier, etc etc.