.gitattributes

Lance la commande suivante:

git config filter.\"fix\".clean \"expand -t2 -i %f\";

Si vous avez les éléments suivants dans chaque fichier .git / config

 

[filter "fix"]
    clean = expand -t2 -i %f

 

alors vous pouvez utiliser "fix" comme filtre dans le fichier .git/info/attributes associé comme dans ce qui suit

*.bmp binary
*.css text eol=lf filter=fix
*.scss text eol=lf filter=fix
*.gif binary
*.html text eol=lf filter=fix
*.jpeg binary
*.jpg binary
*.js text eol=lf filter=fix
*.json text eol=lf filter=fix
*.module text eol=lf filter=fix
*.php text eol=lf filter=fix
*.inc text eol=lf filter=fix
*.theme text eol=lf filter=fix
*.pdf binary
*.png binary
*.yml text eol=lf filter=fix

"binary" force le type de fichier à ne pas être converti

text eol = lf force les lignes à terminer au style unix "lf" et non pas le triste "crlf" (windows)

 

"filter = fix"  dans le fichier de configuration est nécessaire en raison d'attributs ne prenant pas en charge les "espaces" (" "), ni les "quotes" \"

 

Je ne comprends pas pourquoi, mais le programme expand de git fonctionne sur Windows malgré que Windows ait déjà un programme appelé expand qui décompresse les fichiers zip. Même sur une installation win10 propre à partir d'une invite dos cmd, git utilise toujours le programme d'extension Linux au lieu de Windows. Il devrait donc bien fonctionner pour tout le monde.

Les fichiers seront mis à jour dans le dépôt git et non pas localement sauf si vous voulez que les fichiers soit nettoyés sur votre ordinateur, vous devez lancer "rm -rf". et "git checkout". pour obtenir les fichiers nettoyés du dépôt git.

Commentaires

git config filter.trimspace.clean 'sed -e "s/[[:space:]]*$//g"'
git config filter.trimspace.smudge cat 
.gitattributes
*.js filter=trimspace
*.css filter=trimspace

 

ensuite:

git add --renormalize js/*