Petit rangement d'été grâce à Cyril qui maitrise mieux git que moi. A partir de tous les répertoires DATA (et des cartes-mémoire de mes DS), je voudrais avoir un endroit unique où il fait bon vivre pour les sprites et autres maps, où les duplicatas ne seraient plus un problème, pas plus que les redondances dans les noms.
Première chose: activer la syncrhonisation "git" sur un des répertoires 'DATA' d'une de mes machines.
cd DATA
git init
git add *.spr *.SPR
git commit -a
Bien. Maintenant, créer l'espace unique ... le paradis des sprites.
mkdir ../DATA.git ; cd ../DATA.git
git --bare init
cd - # goes back to DATA
git remote add origin /path/to/DATA.git/
git push origin master
Il sera désormais dénommé "master", hébergé sur la machine host. Depuis mon portable, je pourrai donc faire un "clone" de mon jeu de données pour y ajouter les fichiers détenus localement:
git clone host:/path/to/DATA.git/
cp ~/DS/*.spr
git add *.spr
git commit -a
Une fois le "git local" préparé, je synchronise la copie-maître avec
git push
, tout simplement. Le répertoire DATA d'origine peut aussi accepter les nouveaux-venus via git pull
à condition d'avoir copié la section [branch "master"]
du fichier .git/configReste à faire le ménage et à structurer ça par projet plutôt que par provenance ... sur une branche parallèle, sans aucun doute.
(à relire: https://www.jesuisundev.com/comprendre-git-en-7-minutes/ )
git log --pretty=oneline --graph --decorate --all --abbrev-commit | tree view of "where am I" |
git branch -a | show known branches |
one http://techblog.zabuchy.net/2011/transfer-only-selected-file-types-with-rsync/ to find them and in the repository RsYNc them
ReplyDeletersync -av --include='*/' --include='*.png' --exclude='*' source/ destination/ --prune-empty-dirs
ReplyDeletedo not forget '*/' or it won't recurse into directories
okay ... I have git fetched the new stuff a colleague had pushed
ReplyDeletethen I git checkout remotes/origin/his-branch -b my-branch to get it without the "detached head state"
now he makes new changes and I git fetch again.
trying to redo the checkout tells me the branch is already there...
time to read more StackOverflow, I guess ...