Git est un logiciel décentralisé de gestion de versions décentralisé. Le code est stocké dans le cloud (sur github dans notre cas) et tout l'historique est archivé.
Pour récupérer du code d'un dossier github (appelé « repository »), on dit qu'on « clone » le « repo » :
git clone https://github.com/arkhn/deployment-<hopital>
Pour aller dans le dossier :
cd deployment-<hopital>
Git fonctionne avec un système de branches. La branche principale s'appelle **main. **La commande suivante permet d'y aller. Après "git clone" vous êtes déjà sur main.
git checkout main
On peut voir les branches locales avec :
git branch
Pour développer une nouvelle fonctionnalité (un nouveau modèle dbt par exemple) il faut se mettre sur une nouvelle branche :
git checkout -b nom_de_la_branche
Habituellement, le nom de la branche commence par les initiales suivi de '/' et décrit la branche. Par exemple, je m'appelle Toto Bosse et je veux ajouter un ou des modèles du logiciel SanT :
git checkout -b tb/SanT-models

Dans cette image, une bulle est un commit, c'est à dire un état du travail qui est sauvegardé.
Une fois sur votre nouvelle branche, faites votre développement. Une fois que vous avez fini ou avant de vous déconnecter, envoyez le code dans le cloud de github :
# vérifiez sur quelle branche vous êtes
git branch
# observez les fichiers que vous avez modifié
git status
# ajoutez les fichiers
git add fichier1 fichier2 fichier3
# ajoutez le message associé à cet envoi
git commit -m "feat: add 3 models of SanT, 4 are left"
# envoyez le code dans le cloud, ici sur https://github.com
git push
Mais ce n'est pas fini… Il faut qu'il soit accepté par vos collaborateurs. Allez sur github :

Remplissez un maximum de champs pour faciliter la compréhension de votre travail :

Le code doit passer des tests automatiques et une personne doit l'accepter :

Si vous n'êtes plus à jour (conflit avec la branche principale), cela veut dire qu'il y a eu des nouveautés sur la branche principale et qu'il faut les récupérer. Attention, cette étape est un peu plus compliquée et nous vous conseillons vivement de vous renseigner avant de le faire, par exemple avec cette vidéo :
https://www.youtube.com/watch?v=DkWDHzmMvyg&ab_channel=Philomatics
Autrement, les commandes sont :
# vérifiez que vous êtes sur votre bonne branche
git branch
# récupérer les modification des branches
git fetch --all
# lancer le rebase
git rebase origin/main
S'il y a des conflits, il faut modifier les fichiers conflictuels. Les conflits se repèrent avec plein de "======". Gardez la version qui vous convient, ajoutez les fichiers et continuez le rebase :
git add fichierconflictuel
git rebase --continue
Une fois un rebase commencé, il est préférable de le mener jusqu'au bout.
Une fois le rebase fini, observez le log :
git log
Vous devriez voir tous les nouveaux commits de la branche principale, jusqu'à un commit marqué « origin/main », ainsi que les vôtres, marqués du nom de votre branche. Dans ce cas, forcez l'ajout :
git push -f
Dans ce cas, cliquez sur le bouton « merge » sur github. Vos commits seront intégrés à main. N'oubliez pas de revenir sur main :
git checkout main
Pour récupérer les nouveautés d'une branche, lancez :
git pull