COFFRE ET NEMO

De POLR
(Redirigé depuis COFFRE)
Sauter à la navigation Sauter à la recherche

COFFRE avec le modèle NEMO

Un outil de développement donnant accès à un ensemble de modèles à partir d'un même gabarit.

COFFRE se présente sous la forme d'un dépôt git qui permet d'utiliser des codes centralisés (e.g., modèles NEMO, CICE,...).

Tous les codes centralisés viennent se greffer à la copie de travail sous forme de sous-modules git. L'utilisation des sous-modules offre les fonctionnalités suivantes :

  • Le code des sous-modules ne peut pas être modifiés par l'utilisateur
  • Seules les modifications apportées à notre clone du coffre sont conservées
  • La version utilisée des sous-modules se résume à une révision spécifique sans branche associée (mode HEAD détaché de GIT)
  • Les révisions des sous-modules utilisés lors d'un git commit du COFFRE sont mémorisées. On peut ainsi extraire une révision quelconque du COFFRE et récupérer les révisions exactes des sous-modules qui lui sont associées.

Cette page du WIKI documente l'utilisation de COFFRE avec la modèle NEMO couplé à CICE4. Soit, la branche nemo_cice4 et toutes les branches qui sont ou seront créées à partir de celle-ci.

Première utilisation du projet COFFRE

Pour une première utilisation de l'environnement COFFRE, il faut procéder de la façon suivante:

  • Sur le site gitlasso, faire un FORK du projet coffre afin de s'en faire un projet personnel.

Lorsque l'on dispose de sa propre copie du coffre il suffit alors de faire un git clone de son projet coffre personnel et d'extraire la branche sur laquelle on veut travailler. On travaille toujours avec le même projet coffre du gitlasso.

Exemple d'utilisation

À partir d'ici, on suppose qu'un fork de COFFRE a déjà été effectué et sauvegardé sur gitlasso sous le nom de projet coffre dans son espace de nommage personnel.

On veut travailler avec le modèle NEMO version 3.6 couplé au modèle de glace CICE4. La configuration nécessaire se trouve sur la branche nemo-cice4'

Les exemples présentent deux variantes des commandes git utilisables:

  • Commandes git classiques : git checkout ... , git submodule ...
  • Outils git-submodule-tools : un ensemble de scripts facilitant l'emploi des sous-modules git
Avec les commandes git classiques
$>git  clone git@gitlasso.uqar.ca:caveenj/coffre.git
$>cd coffre
$>git branch -a

* master
  remotes/origin/HEAD -> origin/master

  remotes/origin/master
  remotes/origin/nemo-cice4
  remotes/origin/pre_par_nc_io

$>git checkout nemo-cice4


Basculement sur la branche 'nemo-cice4'
Votre branche est à jour avec 'origin/nemo-cice4'.


On vérifie l'état de nos sous-module:


$>git submodule status --recursive
-064dfe692fcac64be8e4c67b16a02cdf3c5e3878 nemo/NEMOGCM
-58e7bc2e2750b0c231e82542649f757b810d7ae6 outils_ISMER


Le résultat de la commande nous indique que nous devons utiliser les révisions fe6c037cda de NEMO et 58e7bc2e27
de outils_ISMER. Le signe - en début de ligne indique que le code des sous-modules requis est absent.

Nous allons greffer les sous-modules NEMO et outils_ISMER.

Note : Le sous-module NEMO utilise lui-même son propre sous-module CICE qui sera automatiquement extrait
grâce à la clef --recursive de la commande git submodule update.


$>git submodule update --init --recursive
Submodule 'nemo/NEMOGCM' (git@gitlasso.uqar.ca:caveenj/NEMOGCM.git) registered for path 'nemo/NEMOGCM'
Submodule 'outils_ISMER' (git@gitlasso.uqar.ca:sennevil/outils_ISMER.git) registered for path 'outils_ISMER'
Cloning into 'nemo/NEMOGCM'...
remote: Counting objects: 1263, done.
remote: Compressing objects: 100% (993/993), done.
remote: Total 1263 (delta 255), reused 1238 (delta 242)
Receiving objects: 100% (1263/1263), 9.83 MiB | 11.17 MiB/s, done.
Resolving deltas: 100% (255/255), done.
Submodule path 'nemo/NEMOGCM': checked out '064dfe692fcac64be8e4c67b16a02cdf3c5e3878'
Submodule 'NEMO/CICE_SRC' (git@gitlasso.uqar.ca:sennevil/CICE.git) registered for path 'NEMO/CICE_SRC'
Cloning into 'NEMO/CICE_SRC'...
remote: Counting objects: 79, done.
remote: Compressing objects: 100% (75/75), done.
remote: Total 79 (delta 10), reused 0 (delta 0)
Receiving objects: 100% (79/79), 480.64 KiB | 0 bytes/s, done.
Resolving deltas: 100% (10/10), done.
Submodule path 'nemo/NEMOGCM/NEMO/CICE_SRC': checked out '43b997a57fca9c2cf89406c13bcfc8e710ddeb5f'
Cloning into 'outils_ISMER'...
remote: Counting objects: 236, done.
remote: Compressing objects: 100% (221/221), done.
remote: Total 236 (delta 77), reused 0 (delta 0)
Receiving objects: 100% (236/236), 763.65 MiB | 8.50 MiB/s, done.
Resolving deltas: 100% (77/77), done.
Submodule path 'outils_ISMER': checked out '58e7bc2e2750b0c231e82542649f757b810d7ae6'


On vérifie la présence des sous-modules désirés:

$> git submodule status --recursive
 064dfe692fcac64be8e4c67b16a02cdf3c5e3878 nemo/NEMOGCM (r5744-3-g064dfe6)
 43b997a57fca9c2cf89406c13bcfc8e710ddeb5f nemo/NEMOGCM/NEMO/CICE_SRC (heads/master)
 58e7bc2e2750b0c231e82542649f757b810d7ae6 outils_ISMER (remotes/origin/dev-3-g58e7bc2)

Ici, l'absence du symbole - en début de ligne indique que les sous-modules ont bien été récupérés à la révision requise.[1]


Avec les outils git-submodule-tools
$>module load git-submodule-tools

$>git  clone git@gitlasso.uqar.ca:caveenj/coffre.git
$>cd coffre
$>git branch -a

* master
  remotes/origin/HEAD -> origin/master

  remotes/origin/master
  remotes/origin/nemo-cice4
  remotes/origin/pre_par_nc_io

$>git-rcheckout nemo-cice4


Basculement sur la branche 'nemo-cice4'
Votre branche est à jour avec 'origin/nemo-cice4'.
Submodule 'NEMO/CICE_SRC' (git@gitlasso.uqar.ca:sennevil/CICE.git) registered for path 'nemo/NEMOGCM/NEMO/CICE_SRC'
Cloning into '/home/caveenj/projets/coffre/nemo/NEMOGCM/NEMO/CICE_SRC'...
Submodule path 'nemo/NEMOGCM/NEMO/CICE_SRC': checked out '43b997a57fca9c2cf89406c13bcfc8e710ddeb5f'

On vérifie l'état de nos sous-modules :

$> git submodule status --recursive
 064dfe692fcac64be8e4c67b16a02cdf3c5e3878 nemo/NEMOGCM (r5744-3-g064dfe6)
 43b997a57fca9c2cf89406c13bcfc8e710ddeb5f nemo/NEMOGCM/NEMO/CICE_SRC (heads/master)
 58e7bc2e2750b0c231e82542649f757b810d7ae6 outils_ISMER (remotes/origin/dev-3-g58e7bc2)

Ici on voit que la commande git-rcheckout extrait automatiquement les sous-modules requis en basculant sur la branche.

On peut aussi vérifier l'état des sous-modules avec la commande git-rstatus :

$>git-rstatus
  SUBMODULE            WISU <>     HEAD                 state          
  nemo/NEMOGCM                     (064dfe6...)                        
  nemo/NEMOGCM/NEMO/CICE_SRC             (43b997a...)                        
  outils_ISMER                     (58e7bc2...)               

Structure de COFFRE avec le modèle NEMO

Dans l'arborescence ci-dessous, seules les composantes précédées des symboles ** font partie de notre projet COFFRE. Toutes les autres composantes proviennent de sous-modules git. On y voit aussi que le répertoire CONFIG qu'on retrouve habituellement sous NEMOGCM a été remplacé par un simple lien symbolique qui pointe vers le répertoire ISMER_NEMO_CONFIG. Le contenu de ISMER_NEMO_CONFIG fait partie du projet COFFRE et non de NEMOGCM.

**coffre
**├── nemo
**│   ├── ISMER_NEMO_CONFIG
**│   │   ├── AMM12
**│   │   ├── C1D_PAPA
**│   │   ├── cfg.txt
**│   │   ├── CREG025_CMC
**│   │   ├── GYRE
**│   │   ├── makenemo
**│   │   ├── ORCA2_OFF_PISCES
**│   │   ├── ORCA2_SAS_LIM
**│   │   ├── SHARED
**│   │   └── uspcfg.txt
  │   └── NEMOGCM
  │       ├── ARCH
  │       ├── CONFIG -> ../ISMER_NEMO_CONFIG
  │       ├── EXTERNAL
  │       ├── fcm-make
  │       ├── License_CeCILL.txt
  │       ├── MY_SRC_RPN_ORIG
  │       ├── NEMO
  │       ├── SETTE
  │       └── TOOLS
  ├── outils_ISMER
  │   ├── Fortran
  │   ├── Matlab
  │   └── Python
**├──  README.md
**└── .gitmodules

On peut en tout temps vérifier si notre répertoire de travail courant fait partie de *coffre* ou non.


$> pwd
coffre
$> git remote -v
origin	git@gitlasso.uqar.ca:caveenj/coffre.git (fetch)
origin	git@gitlasso.uqar.ca:caveenj/coffre.git (push)
$>  git status
Sur la branche nemo-cice4
Votre branche est à jour avec 'origin/nemo-cice4'.
$> cd outils_ISMER  
$> git remote -v
origin	git@gitlasso.uqar.ca:sennevil/outils_ISMER.git (fetch)
origin	git@gitlasso.uqar.ca:sennevil/outils_ISMER.git (push)
$> git status
HEAD détachée sur 58e7bc2
rien à valider, la copie de travail est propre
$> cd ../nemo/ISMER_NEMO_CONFIG
$> git remote -v
origin	git@gitlasso.uqar.ca:caveenj/coffre.git (fetch)
origin	git@gitlasso.uqar.ca:caveenj/coffre.git (push)
$> cd ../NEMOGCM
$> git remote -v
origin	git@gitlasso.uqar.ca:caveenj/NEMOGCM.git (fetch)
origin	git@gitlasso.uqar.ca:caveenj/NEMOGCM.git (push)
$>  git status
HEAD détachée sur 064dfe6


On voit ici que seul notre projet coffre est sur une branche sur laquelle on peut faire des git commit car les sous-modules ont un statut HEAD détaché[2] et ont été extraits à une révision spécifique.


NOTES IMPORTANTES

  • Tel que mentionné plus haut, le sous-répertoire CONFIG de NEMOGCM est un lien symbolique pointant vers le répertoire ISMER_NEMO_CONFIG de coffre. Ceci a pour conséquence que lorsqu'on passe du répertoire NEMOGCM au répertoire NEMOGCM/CONFIG on passe du sous-module git NEMOGCM au projet coffre :
$> cd coffre/nemo/NEMOGCM
$> git remote -v
origin	git@gitlasso.uqar.ca:caveenj/NEMOGCM.git (fetch)
origin	git@gitlasso.uqar.ca:caveenj/NEMOGCM.git (push)
$>  git status
HEAD détachée sur 064dfe6
$> cd CONFIG  # répertoire coffre/nemo/NEMOGCM/CONFIG
$> git remote -v
origin	git@gitlasso.uqar.ca:caveenj/coffre.git (fetch)
origin	git@gitlasso.uqar.ca:caveenj/coffre.git (push)
$>  git status
Sur la branche nemo-cice4
Votre branche est à jour avec 'origin/nemo-cice4'.
  • Lorsqu'on travaille avec le modèle NEMO, on doit se placer dans le répertoire coffre/nemo/NEMOGCM/CONFIG pour que le tout fonctionne (makenemo, etc...).
  • Lorsqu'on veut utiliser git add, commit, et al pour sauvegarder nos configurations, on doit être dans notre projet coffre et non dans un sous-module.

Créer un nouveau projet utilisant NEMO et CICE4

Dans cet exemple nous allons créer une nouvelle configuration ayant pour nom GSL2KM. Nous allons nous placer à la racine de coffre et créer une nouvelle branche gsl2km à partir de la branche nemo-cice4 :


Avec les commandes git classiques
$>cd coffre
$>pwd
/home/caveenj/projets/coffre
$>git branch
master
* nemo-cice4
$> git checkout -b gsl2km
 M	nemo/NEMOGCM
Basculement sur la nouvelle branche 'gsl2km'
$> git submodule status --recursive
 064dfe692fcac64be8e4c67b16a02cdf3c5e3878 nemo/NEMOGCM (r5744-3-g064dfe6)
 43b997a57fca9c2cf89406c13bcfc8e710ddeb5f nemo/NEMOGCM/NEMO/CICE_SRC (heads/master)
 58e7bc2e2750b0c231e82542649f757b810d7ae6 outils_ISMER (remotes/origin/dev-3-g58e7bc2)
Avec les outils git-submodule-tools
$>module load git-submodule-tools
$>cd coffre
$>pwd
/home/caveenj/projets/coffre
$>git branch -a
master
* nemo-cice4
$> git-rcheckout -b gsl2km
 M	nemo/NEMOGCM
Basculement sur la nouvelle branche 'gsl2km'

$>git-rstatus
  SUBMODULE            WISU <>     HEAD                 state          
  nemo/NEMOGCM                     (064dfe6...)                        
  nemo/NEMOGCM/NEMO/CICE_SRC             (43b997a...)                        
  outils_ISMER                     (58e7bc2...)               


Nous allons créer une nouvelle configuration à partir de GSL5KM en utilisant les codes sources de NEMO et CICE4. Pour la vraie méthode à suivre, consultez la page de documentation NEMO@POLR.

$>cd nemo/NEMOGCM/CONFIG
$>./makenemo -n gsl2km -d "OPA_SRC CICE_SRC" -m mpiifort_parallel_linux -r GSL5KM_CICE4


Pour sauvegarder notre nouvelle configuration et toutes les expériences s'y rattachant, on retourne dans notre projet coffre :

$>cd coffre
$> git status
Sur la branche gsl2km
Modifications qui ne seront pas validées :
  (utilisez "git add <fichier>..." pour mettre à jour ce qui sera validé)
  (utilisez "git checkout -- <fichier>..." pour annuler les modifications dans la copie de travail)
  (valider ou annuler le contenu non suivi ou modifié dans les sous-modules)

	modifié :         nemo/ISMER_NEMO_CONFIG/cfg.txt
 	modifié :         nemo/NEMOGCM (contenu non suivi) 

Fichiers non suivis:
  (utilisez "git add <fichier>..." pour inclure dans ce qui sera validé) 

	nemo/ISMER_NEMO_CONFIG/gsl2km/

aucune modification n'a été ajoutée à la validation (utilisez "git add" ou "git commit -a")

Dans l'exemple ci-dessus, nous remarquons que git considère que le répertoire nemo/NEMOGCM a été modifié. En effet, des fichiers temporaires y ont été créés dans le répertoire TOOLS/COMPILE lors de la compilation du modèle. Puisque ce répertoire fait partie d'un sous-module, nous n'avons pas à nous préoccuper de ces nouveaux fichiers. La commande git diff nous indique que git voit bien que le sous-module a été modifié:


$> git diff nemo/NEMOGCM/
 diff --git a/nemo/NEMOGCM b/nemo/NEMOGCM
 --- a/nemo/NEMOGCM
 +++ b/nemo/NEMOGCM
 @@ -1 +1 @@
 -Subproject commit 064dfe692fcac64be8e4c67b16a02cdf3c5e3878
 +Subproject commit 064dfe692fcac64be8e4c67b16a02cdf3c5e3878-dirty
$>

On ajoute le dossier et les fichiers requis par notre nouvelle configuration:


$> git add nemo/ISMER_NEMO_CONFIG/cfg.txt
$> git add nemo/ISMER_NEMO_CONFIG/gsl2km
$> git status
Sur la branche gsl2km
Modifications qui seront validées :
  (utilisez "git reset HEAD <fichier>..." pour désindexer)
  
 	modifié :         nemo/ISMER_NEMO_CONFIG/cfg.txt
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/EXP00/domain_def.xml
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/EXP00/field_def.xml
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/EXP00/iodef.xml
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/EXP00/namelist_cfg
 ...
 lignes escamotées
 ...
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/MY_SRC/tranxt.F90
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/MY_SRC/trasdmp.F90
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/MY_SRC/updtide.F90
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/MY_SRC/wrk_nemo.F90
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/MY_SRC/zdfgls.F90
       nouveau fichier : nemo/ISMER_NEMO_CONFIG/gsl2km/cpp_gsl2km.fcm
       
 $> git commit -m'Ajout configuration gsl2km'
 [gsl2km ab6e27d] Ajout configuration gsl2km
  90 files changed, 74342 insertions(+)
  create mode 100644 nemo/ISMER_NEMO_CONFIG/gsl2km/EXP00/domain_def.xml
  create mode 100644 nemo/ISMER_NEMO_CONFIG/gsl2km/EXP00/field_def.xml
  create mode 100644 nemo/ISMER_NEMO_CONFIG/gsl2km/EXP00/iodef.xml
  create mode 100644 nemo/ISMER_NEMO_CONFIG/gsl2km/EXP00/namelist_cfg
  ...
  lignes escamotées
  ...
  create mode 100644 nemo/ISMER_NEMO_CONFIG/gsl2km/MY_SRC/wrk_nemo.F90
  create mode 100644 nemo/ISMER_NEMO_CONFIG/gsl2km/MY_SRC/zdfgls.F90
  create mode 100644 nemo/ISMER_NEMO_CONFIG/gsl2km/cpp_gsl2km.fcm 
  
 $> git push origin gsl2km
 Énumération des objets: 738, fait.
 Décompte des objets: 100% (738/738), fait.
 Delta compression using up to 40 threads.
 Compression des objets: 100% (443/443), fait.
 Écriture des objets: 100% (737/737), 4.81 MiB | 17.34 MiB/s, fait.
 Total 737 (delta 294), reused 726 (delta 291)
 To gitlasso.uqar.ca:caveenj/coffre.git
  * [new branch]      gsl2km -> gsl2km

Extraire une configuration existante

Lorsque nous voudrons ultérieurement réutiliser cette configuration à partir du serveur gitlasso, on procérera de la façon suivante:


Avec les commandes git classiques
$>git clone git@gitlasso.uqar.ca:caveenj/coffre.git
Clonage dans 'coffre'...
remote: Counting objects: 746, done.
remote: Compressing objects: 100% (448/448), done.
remote: Total 746 (delta 297), reused 737 (delta 294)
Réception d'objets: 100% (746/746), 4.81 MiB | 36.79 MiB/s, fait.
Résolution des deltas: 100% (297/297), fait.
 
$> cd coffre

$>git branch -a
* master
 remotes/origin/HEAD -> origin/master
 remotes/origin/gsl2km
 remotes/origin/master
 remotes/origin/nemo-cice4 

$> git checkout gsl2km
Extraction des fichiers: 100% (1348/1348), fait.
La branche 'gsl2km' est paramétrée pour suivre la branche distante 'gsl2km' depuis 'origin'.
Basculement sur la nouvelle branche 'gsl2km'

$>git submodule status --recursive
-064dfe692fcac64be8e4c67b16a02cdf3c5e3878 nemo/NEMOGCM
-58e7bc2e2750b0c231e82542649f757b810d7ae6 outils_ISMER

$> git submodule update --init --recursive
Sous-module 'nemo/NEMOGCM' (git@gitlasso.uqar.ca:caveenj/NEMOGCM.git) enregistré pour le chemin 'nemo/NEMOGCM'
Sous-module 'outils_ISMER' (git@gitlasso.uqar.ca:sennevil/outils_ISMER.git) enregistré pour le chemin 'outils_ISMER'
Clonage dans '/home/caveenj/projets/coffre/coffre/nemo/NEMOGCM'...
Clonage dans '/home/caveenj/projets/coffre/coffre/outils_ISMER'...
Chemin de sous-module 'nemo/NEMOGCM' : '064dfe692fcac64be8e4c67b16a02cdf3c5e3878' extrait
Sous-module 'NEMO/CICE_SRC' (git@gitlasso.uqar.ca:sennevil/CICE.git) enregistré pour le chemin 'nemo/NEMOGCM/NEMO/CICE_SRC'
Clonage dans '/home/caveenj/projets/coffre/coffre/nemo/NEMOGCM/NEMO/CICE_SRC'...
Chemin de sous-module 'nemo/NEMOGCM/NEMO/CICE_SRC' : '43b997a57fca9c2cf89406c13bcfc8e710ddeb5f' extrait
Chemin de sous-module 'outils_ISMER' : '58e7bc2e2750b0c231e82542649f757b810d7ae6' extrait

$> git submodule status --recursive
 064dfe692fcac64be8e4c67b16a02cdf3c5e3878 nemo/NEMOGCM (r5744-3-g064dfe6)
 58e7bc2e2750b0c231e82542649f757b810d7ae6 outils_ISMER (remotes/origin/dev-3-g58e7bc2)
 43b997a57fca9c2cf89406c13bcfc8e710ddeb5f nemo/NEMOGCM/NEMO/CICE_SRC (heads/master)
 $>
Avec les outils git-submodule-tools
$>module load git-submodule-tools

$> git clone git@gitlasso.uqar.ca:caveenj/coffre.git
Clonage dans 'coffre'...
remote: Counting objects: 758, done.
remote: Compressing objects: 100% (451/451), done.
remote: Total 758 (delta 307), reused 750 (delta 304)
Réception d'objets: 100% (758/758), 4.82 MiB | 32.88 MiB/s, fait.
Résolution des deltas: 100% (307/307), fait.

$> cd coffre/

$>git branch -a
* master
 remotes/origin/HEAD -> origin/master
 remotes/origin/gsl2km
 remotes/origin/master
 remotes/origin/nemo-cice4 

$> git-rcheckout gsl2km
Checking out files: 100% (1261/1261), done.
Branch 'gsl2km' set up to track remote branch 'gsl2km' from 'origin'.
Switched to a new branch 'gsl2km'
Submodule 'nemo/NEMOGCM' (git@gitlasso.uqar.ca:caveenj/NEMOGCM.git) registered for path 'nemo/NEMOGCM'
Submodule 'outils_ISMER' (git@gitlasso.uqar.ca:sennevil/outils_ISMER.git) registered for path 'outils_ISMER'
Cloning into '/home/caveenj/projets/coffre/nemo/NEMOGCM'...
Cloning into '/home/caveenj/projets/coffre/outils_ISMER'...
Submodule path 'nemo/NEMOGCM': checked out '064dfe692fcac64be8e4c67b16a02cdf3c5e3878'
Submodule 'NEMO/CICE_SRC' (git@gitlasso.uqar.ca:sennevil/CICE.git) registered for path 'nemo/NEMOGCM/NEMO/CICE_SRC'
Cloning into '/home/caveenj/projets/coffre/nemo/NEMOGCM/NEMO/CICE_SRC'...
Submodule path 'nemo/NEMOGCM/NEMO/CICE_SRC': checked out '43b997a57fca9c2cf89406c13bcfc8e710ddeb5f'
Submodule path 'outils_ISMER': checked out '58e7bc2e2750b0c231e82542649f757b810d7ae6'

$>git-rstatus
  SUBMODULE            WISU <>     HEAD                 state          
  nemo/NEMOGCM                     (064dfe6...)                        
  nemo/NEMOGCM/NEMO/CICE_SRC             (43b997a...)                        
  outils_ISMER                     (58e7bc2...)               


  1. Le symbole - dans le résultat d'un git submodule status indique que le sous-module est absent. Le symbole + indique que la révision du sous-module est différente de celle attendue par la configuration définie dans le fichier .gitmodules du projet.
  2. Lorsque git status indique HEAD détaché c'est que nous ne sommes pas sur une branche . On ne devrait donc pas faire un git commit.