Unreal – Comment initialiser GIT

Afin de partager son code, ou simplement de le versionner, c’est à dire pouvoir revenir en arrière en cas de problème, d’erreur ou juste retrouver ce qu’on a pu mettre de supprimer, nous allons voir comment mettre en place Git dans un projet Unreal.

Prérequis

On va voir pour installer Git/Git LFS et Créer un compte sur Github

Git va nous permettre de gérer l’envoie et le versionning des fichiers. L’outil est uniquement en ligne de commande, mais je vous proposerais plus loin un client.

Pour l’installation, vous pouvez laisser tout les paramètres par défaut.

Afin de le télécharger rendez-vous sur le site officiel

Tout devrait fonctionner avec Git, mais pouvant avoir des fichiers un peu plus lourd je vous recommande l’extension LFS pour Large File Storage.

Comme je le notais plus tôt, Git est ne ligne de commande, aussi pour finaliser l’installation de LFS, il vous faudra l’activer en lançant l’application Git Bash, qui est la console dédié à Git.

Il n’y a plus qu’à activer l’extension via cette commande :

git lfs install

Enfin Github, vous pourriez utiliser Bitbucket, ou autre concurrent.
C’est un dépôt GIT, c’est là que nos fichiers seront en mémoire.
Dans mon cas j’utilise d’autant plus Github depuis qu’ils permettent les projets privés gratuit pour 5 utilisateurs.
Pour la suite vous faudra un compte, et je poursuivrais avec Github, vous pourrez toujours adapter selon votre solution.

Création d’un dépôt Git

Nous allons devoir créer un repository (ou dépôt en Français)

Une fois votre projet créé, vous devriez avoir un écran vous listant différentes commandes, c’est la première partie qui nous intéresse, et qu’il faudra utiliser lors des étapes suivantes.

Pour savoir si c’est la bonne url, je vous met un petit rappel sur sa construction :

Il est possible de télécharger un client, comme Github desktop
Depuis ce client, Paramètre > Options
Vérifier qu’on a un compte, sinon ajouter un compte

Configurer votre Git

On va avoir besoin de configurer Git. On entends par là spécifier l’auteur des différentes modifications.
Chaque fois qu’on enverra des commits (une demande de modification) git se charge d’y ajouter le pseudo et le mail qu’on souhaite.

Configurer – Git Kraken

Depuis Kraken vous pouvez vérifier la configuration de git via votre Profile

Configurer – Github desktop

Si vous installez Github Desktop, lorsque vous l’intallez et que vous vous connectez via votre compte Github, il vous proposera de configurer votre Git.

Si vous aviez déjà le client, vous pouvez vérifier votre profile par ici :

Initialiser votre dépôt local via Unreal

Maintenant qu’on a le dépôt et notre profile, on va pouvoir initialiser votre dépôt local.
Vous pouvez lancer Unreal, et on va voir comment utiliser le bouton Source Control.

  1. Sélectionner GIT, et vérifier qu’il y a bien Git Path d’initialisé, sinon il est dans votre dossier d’installation \bin\git, par défaut C:\Program Files\Git\bin\git.exe
  2. L’url de notre dépôt GIT
  3. Ajouter un fichier qui permettra de ne pas envoyer des fichiers inutiles
  4. Le fichier README.md est celui qui s’affiche sur la page d’accueil de votre dépôt sur GIT
  5. Configuration de Git LFS qui gère donc certains types de gros fichiers
  6. Le premier commit, c’est à dire la première version de votre projet, avec une petite description
  7. Initialisation du projet à faire afin de générer les points 2 à 6.
  8. Enfin valider les configurations

Commit, Push, … qu’est-sa-ko ?

Comme vous avez du le comprendre, on travaille avec des dépôts qui vont stocker non pas les fichiers, mais les différences entre les versions.

Il faut savoir que GitHub est un dépôt, mais votre projet en local est aussi un dépôt et tout le but de Git est de synchroniser ces dépôts, pour permettre de travailler sur des éléments différents mais toujours permettre de se mettre à jour.

Un résumer rapide de git avec les commandes en console liées

  • Working directory, sont les fichiers avec lesquelles vous travaillez.
  • Staging Area, avant de “commit” on peut sélectionner les fichiers qu’on souhaite versionner ou non, dans notre cas on va tout envoyer, et on passera très rapidement sur cette partie.
  • Local Repo, une fois commité, on a versionné nos fichiers, mais uniquement dans notre dépôt local pour le moment
  • Remote Repo, on met à jour le dépôt distant soit Github pour nous.

Premier Commit

Pensez à bien enregistrer tout les éléments sous Unreal

Unreal, propose des options pour gérer les synchronisations, mais ayant eut plusieurs problèmes, je vous conseils de gérer le plus gros via votre client Git.

Avec initialisation du Source Control, vous devriez déjà avoir un commit en attente. Sur la screen suivante, vous avez un commit déjà effectué pour initialiser Github, et un pour Unreal.

Dans mon cas il a fallu que j’utilise le bouton “PUSH“, ayant déjà été commité par Unreal. Cependant avec déjà un élément qui n’a pas été récupéré et qui faisait conflit, GitKraken m’a proposé de FORCE le commit.
Habituellement je vous dirais que c’est dangereux, mais dans ce cas, il n’y avait rien n’a perdre.

Pour les fois suivante, il est plutôt conseillé de “PULL” afin de récupérer les éléments depuis Github, et de commit afin de voir les conflits qui aurait pu arriver.

Les conflits arrivant, quand on modifie un même fichier sur plusieurs dépôts. Notre outils est alors un peu perdu, dois-je prendre la version que mon auteur à changé, ou alors la version de l’autre dépôt est plus à jour ?
Dans beaucoup de cas, ce ne sont pas les mêmes parties d’un fichier qui change, aussi votre client pourra faire un “auto-merge” à savoir gérer le cas sans avoir besoin de vous. Dans le cas contraire ça peut être compliqué selon votre cas.

Dans tout les cas, je vous conseille de versionner votre projet même si vous travaillez seul. Puisque vous ne pourrez pas avoir de conflit dans un cas simple, et qu’il sera facile de récupérer une version antérieur en apprenant un peu à utiliser votre client Git.

Comment commit ?

Afin de commiter, au cas où vérifier que vous avez bien tout enregistré.

Il faudra y ajouter une description, qui sera pour vous un court texte de ce que vous avez fait. Pour pouvoir vous y retrouverez quand vous en aurez besoin. Ou permettre de comprendre à quelqu’un d’autre ce qu’il récupère.

Côté Unreal, nous avons que créé le commit, c’est à dire sélectionné les fichiers qu’on voulait envoyer, et on l’a ajouté à notre dépôt local.

Il nous faut donc “PUSH” vers Github.
Sur la screenshot suivante, vous pouvez voir un flèche vers le haut, qui signifie que j’ai un commit en attente d’être Pushed.
A ce moment il est très simple il suffit de push et voilà Github à jour.

Si au contraire vous aviez une flèche descendante il faudrait PULL pour récupérer depuis Github.

Récupérer un projet via Git

Si vous changez de PC, que vous voulez partager votre client avec quelqu’un…
Il suffit de lancer un client GIT, et venir faire un CLONE de votre projet

Si vous voulez récupérer un projet public ou d’ailleurs que Github, il est possible de venir sur la page principale du projet, et récupérer l’url à cloner.

Une fois la récupération terminé, il ne reste plus qu’à ouvrir le projet depuis Unreal. Pour ce faire File > Open Project > Browse > Trouver le projet

Et voilà votre projet récupéré.

Sources

Doc d’Unreal : https://docs.unrealengine.com/latest/INT/Engine/UI/SourceControl/index.html
Tutorial de Hangry Bunnies From Mars : https://www.youtube.com/watch?v=Hv_v3tPuNj4
Tutorial de Dev Enable : https://www.youtube.com/watch?v=FXMTHrLWFKQ

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.