GIT

Nous allons envoyer notre code dans un dépôt GIT.

Une fois dans le GIT, nous allons de récupérer sur notre serveur pour déploiement.

Connexion à GIT

Je vous ai mis à disposition un serveur git à https://gitlab.mt.glassworks.tech.

Connectez-vous est créez un compte.

Créer un projet

Créez un nouveau projet qui va accueillir votre code source. Prenez note de l'URL de votre projet.

Configurer GIT dans votre DevContainer

Retournez à votre projet VSCode.

Dans le terminal tapez, en remplaceant les coordonnées :

git config --global user.name "Your Name"
git config --global user.email "your.email@address"
git config --global credential.helper "store --file $HOME/.git-credentials"

Ceci établit votre identité pour toues les intéractions avec GIT.

Maintenant, on va vouloir se connecter à notre projet GIT.

Sur Gitlab, naviguez dans "Settings -> Access Tokens". Ajoutez un nouveau token avec les droits suivante :

  • Role: "Maintainer"

  • read_repository

  • write_repository

Copiez le token généré. Attention, il n'est affiché qu'une seule fois !

Préparer votre projet

Ajouter un fichier qui s'appelle .gitignore à la racine de votre projet avec les contenus suivants :

node_modules
build
dbms/dbms-data
keys

Ceci empêche d'envoyer les fichiers inutiles sur le serveur git.

Ensuite, créez et sauvegarder votre projet :

git init -b main 
git add .
git commit -m "Ajouter la première version de mon code à GIT"

Sur Gitlab, naviguez vers la racine de votre projet. Cliquez sur le bouton bleue "Code", et copiez le lien "http://..."

Une fois seulement, nous allons dire à GIT où synchroniser notre projet :

# Remplacez LE_LIEN_COPIÉ_DE_VOTRE_PROJET_GIT par votre lien https://gitlab.mt....
git remote add origin LE_LIEN_COPIÉ_DE_VOTRE_PROJET_GIT

# Préciser qu'on va toujour fusionner nos modifications
git config pull.rebase false    

# Récupérer la toute première version de notre projet de GIT
# Remplacez LE_LIEN_COPIÉ_DE_VOTRE_PROJET_GIT par votre lien https://gitlab.mt....
# - précisez votre nom d'utilisateur quand demandé
# - coller votre token privé que vous avez généré dans Settings -> Access Tokens
GIT_MERGE_AUTOEDIT=no git pull LE_LIEN_COPIÉ_DE_VOTRE_PROJET_GIT main --allow-unrelated-histories

# Il est possible qu'il y a un CONFLIT entre la version locale et la version récupérée du serveur
# Si c'est le cas, la commande précédente indiquera `CONFLIT` et affichera le fichier
# Ouvrez ce fichier et résolvez le conflit !

# Ajoutez des fichiers modifiés
git add .

# Puisque les 2 projets sont différents, nous allons sauvegarder les différences
git commit -m "Merge avec la version de gitlab"

# Envoyer notre version vers le serveur
git push --set-upstream origin main

Si vous vous êtes trompés de origin ou vous avez des erreurs concernant l'origin, on peut recommencer en faisant :

git remote delete origin

Modifications futures

Quand vous apportez des modifications à votre base de code, vous pouvez désormais faire le suivant :

git add .
git commit -m "Le message qui décrit vos modifications"
git push

Si jamais une version plus récente existe sur le serveur, il faut d'abord faire :

git pull

... afin de récupérer cette version du serveur, avant de faire git push

Dans le cas où, en récupérant une version du serveur, git rencontre une erreur style "vous avez de modifications locales", il y a deux options :

# SOIT : enlever les modifications locales
git stash

# SOIT : créer une version à partir des modifications locales
git add .
git commit -m "un message"

Dernière mise à jour