GitHub pour Unity

Github permet de sauvegarder son projet en ligne, tout en continuant de travailler dessus. On peut ainsi apporter des modifications, revenir a une version antérieure, ou encore travailler a plusieurs sur un même projet et se partager notre travail.

Sur cette page tu trouveras:

Qu’est ce que Git et 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 est un site et un service d’hébergement de projets Git, avec un système d’historiques/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 en version gratuite fonctionne surtout pour les petits projets. Si on veut faire un gros projet 3D ultra détaillé, il faudra payer un abonnement pour avoir plus de place sur leurs serveurs.

Mais pour unity 2D ou des projets 3D low-poly c’est excellent!

Mettre en place Github

Créer un compte Github

Pour commencer il faut un compte github.

Si tu n’en as pas, tu peux en créer un. Pense à t’équiper de ton mail et mot de passe, un lien te sera envoyé pour valider ton compte.

Installer Github Desktop

Télécharge et installe github desktop:

https://desktop.github.com/

 

Github desktop va normalement te demander de te connecter à ton compte. Si ce n’est pas le cas, tu peux aller dans Fichier > options, et le faire ici.

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 un projet en groupe 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. Puis revenir sur Github Desktop.

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

Et on ne pourra pas valider tout de suite.

Tu dois choisir un 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 (cf à droite) 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 »:

Travailler à plusieurs sur un même projet

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

Sur le site de Github, va sur la page de ton projet.

Clique sur Settings et trouve le menu “Collaborators”

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

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

Récupérer un projet existant

Tu peux accéder et télécharger un projet déjà existant. C’est également par cette étape que les collaborateurs vont pouvoir récupérer le projet de l’auteur.

 

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. directement dans « Local Path » 

Une fois validé dans github, on va indiquer à Unity que on a un projet à faire apparaitre dans son hub.

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!

L’interface GitHub Desktop

Retrouve ci-dessous toutes les différentes parties de ton interface Github Desktop :

  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)

Les Commits, Push & Pull

Les commits

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.

Les Push

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.

Les Pull

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.

Les 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 en même temps), Github va nous prévenir, et nous montrer les fichiers en question

Résolution

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.
Retour en haut