modifs texte

This commit is contained in:
eleonore12345 2024-07-11 09:38:03 +02:00
parent 7a65f4bed3
commit a2c0ac538e

View File

@ -29,11 +29,8 @@ La combinaison finale retenue est :
git clone --depth=1 --recurse-submodules --remote-submodules --shallow-submodules git clone --depth=1 --recurse-submodules --remote-submodules --shallow-submodules
depth=1 permet d'uniquement cloner le dernier commit et les objets nécessaires. Par défaut, elle est single-branch, mais il est possible de préciser --no-single-branch. depth=1 permet d'uniquement cloner le dernier commit et les objets nécessaires. Par défaut, elle est single-branch, mais il est possible de préciser --no-single-branch.
recurse-submodules s'assure que le contenu des submodules est cloné recurse-submodules s'assure que le contenu des submodules est cloné
remote-submodules s'assure que le contenu des submodules est cloné à partir du remote submodule originel remote-submodules s'assure que le contenu des submodules est cloné à partir du remote submodule originel
shallow-submodules s'assure que seul le dernier commit des submodules est importé (pour que cela fonctionne en local, il faut préciser ://file/ avant le chemin des submodules) shallow-submodules s'assure que seul le dernier commit des submodules est importé (pour que cela fonctionne en local, il faut préciser ://file/ avant le chemin des submodules)
@ -47,25 +44,18 @@ git gc --aggressive --prune=now
git submodule update --init --recursive --force --depth=1 --remote git submodule update --init --recursive --force --depth=1 --remote
init met à jour le fichier .gitmodules init met à jour le fichier .gitmodules
recursive applique la commande aux submodules de submodules etc. recursive applique la commande aux submodules de submodules etc.
force permet d'ignorer les changements locaux aux submodules et d'automatiquement check out la nouvelle version force permet d'ignorer les changements locaux aux submodules et d'automatiquement check out la nouvelle version
depth=1 permet de considérer uniquement le dernier commit du submodule depth=1 permet de considérer uniquement le dernier commit du submodule
remote permet de mettre à jour depuis le remote submodule originel remote permet de mettre à jour depuis le remote submodule originel
git fetch --tags --depth=1 --prune --prune-tags origin git fetch --tags --depth=1 --prune --prune-tags origin
tags permet de fetch les tags, elle doit être précisée y compris si un tag est fetched par référence tags permet de fetch les tags, elle doit être précisée y compris si un tag est fetched par référence
depth=1 permet de considérer uniquement le dernier commit depth=1 permet de considérer uniquement le dernier commit
prune permet de supprimer du dossier remote en local les références qui ne sont plus accessibles prune permet de supprimer du dossier remote en local les références qui ne sont plus accessibles
prune-tags permet non seulement de supprimer du dossier remote en local les références qui ne sont plus accessibles, mais aussi de supprimer les les tags locaux qui n'existent pas sur le remote prune-tags permet non seulement de supprimer du dossier remote en local les références qui ne sont plus accessibles, mais aussi de supprimer les les tags locaux qui n'existent pas sur le remote
git reset --hard origin/main git reset --hard origin/main
git reflog expire --expire=now --all git reflog expire --expire=now --all
@ -75,10 +65,9 @@ git gc --aggressive --prune=now
git gc --aggressive --prune=now git gc --aggressive --prune=now
cette commande supprime les références non reliées et réorganise le dépôt pour l'optimiser. cette commande supprime les références non reliées et réorganise le dépôt pour l'optimiser.
aggressive invoque repack et prend plus de temps. repack défait et refait les packs, qui sont des unités de compression. aggressive invoque repack et prend plus de temps. repack défait et refait les packs, qui sont des unités de compression.
Cette combinaison ne permet pas de garder des fichiers compilés, néanmoins elle est extrêmement efficace en terme de gains de mémoire. Cette combinaison ne permet pas de garder des fichiers ou modifications committé.es, ni de modifications de fichier non-committées. En revanche, elle permet de garder les fichiers créés non-committés.
# Détails # Détails
Voici un résumé de différentes pistes explorées afin de réduire l'empreinte du dépôt Git. Voici un résumé de différentes pistes explorées afin de réduire l'empreinte du dépôt Git.
@ -140,7 +129,11 @@ C'est une option intéressante dans notre cas, car on pourrait vouloir sauvegard
Les tests nous montrent que les options les plus économes en mémoire sont git merge -s ours et git --reset hard, qui font la même chose. Néanmoins git reset --hard tient en une ligne et n'implique pas la création d'une branche temporaire, c'est donc celle que nous retenons. Les tests nous montrent que les options les plus économes en mémoire sont git merge -s ours et git --reset hard, qui font la même chose. Néanmoins git reset --hard tient en une ligne et n'implique pas la création d'une branche temporaire, c'est donc celle que nous retenons.
### Gestion des submodules
Les submodules sont clonés au début via les options de git clone --recurse-submodules --remote-submodules.
Puis ils sont mis à jour par git submodule update --init --recursive --force --depth=1 --remote.
Les mêmes règles s'appliquent aux submodules qu'au reste du dépôt. Il est possible de préciser dans le fichier .gitmodules des règles d'import des submodules, comme un certain tag ou une certaine branche par exemple.
En retirant --remote-submodules du git clone et --remote du git submodule update, alors les submodules seront identiques au dépôt que l'on clone et plus au dépôt originel du submodule.
RESULTATS des tests : RESULTATS des tests :
======================================= Tests on the initial populating of the repository ======================================= Tests on the initial populating of the repository