Attention, dans videa-historique
les --path
s’appliquent à ce qu’on veut garder :
git clone --no-local jeu-vide-a/.git videa-historique
cd videa-historique
git filter-repo --path puzzle-game --path tests-amelie --path videa-02 --path .gitattributes --path FREE\ ART\ LICENSE\ 1.3
git branch -m main
git remote add origin git@framagit.org:lesoiseaux/videa-historique.git
git push -u origin main
Et avant cela, nous avons effectué la manoeuvre :
Pour transférer tous les binaires dans LFS
Cela prend un temps considérable…
cd jeu-vide-a
# D'abord on se renseigne
git lfs migrate info --everything
# Ensuite on inclut les fichier *binaires* (le texte se diff et se compresse bien)
git lfs migrate import --everything --include="*.stex,*.png,*.pdf"
# Et là on se fait peur
git push --force
Cette manoeuvre récrit tout l’historique depuis le début (d’où le push --force
) et éventuellement laisse les images cassées (cela peut arriver, pour réparer il suffit de faire ) :
cd jeu-vide-a
# Récupérer les fichers LFS
git lfs fetch --all
# Ressortir les images en tant que telles
git lfs checkout **/*.{png,pdf,stex}
la notation **/*.{png,pdf,stex}
est un raccourci de zsh
pour demander l’ensemble des fichiers dans tous les sous-répertoires qui finissent en .png
, .pdf
, ou .stex
. En bash
on préférera le faire en plusieurs fois. Peut-être la commande git-lfs-checkout
fournit-elle -r
pour récursif, mais je n’ai pas vérifié.
Et les git branch -m main
c’était pour en profiter et renommer master
→ main