Règles .ffignore
Les règles .ffignore indiquent à FlyingFiles quels fichiers et quels dossiers ne pas copier, ne pas déplacer et ne pas afficher dans les résultats de recherche. Exemple typique : envoyer un projet sur un serveur sans node_modules/, .git/ et les fichiers *.log.
La syntaxe est la même que dans le fichier .gitignore que vous connaissez peut-être de Git.
Où vivent les règles
Les règles appartiennent à un dossier précis et vivent dans son sous-dossier .flyingfiles/ :
Projet/
.flyingfiles/
.ffignore.txt motifs, un par ligne
.ffconfig.txt réglage : les règles sont-elles actives par défaut
src/
node_modules/
.ffconfig.txt contient du JSON, par ex. { "ffignore_default": true }. La valeur true signifie que les règles sont actives par défaut.
Attention : Lors d'une copie et d'un déplacement, l'application lit les règles du dossier où se trouvent les éléments sélectionnés et, du côté de la destination, celles du dossier de destination et des dossiers copiés s'ils existent déjà à destination. Lors d'une recherche, elle les lit dans le dossier où vous cherchez. Les règles des dossiers situés plus haut dans l'arborescence ne sont pas héritées, et les règles propres à un dossier sélectionné ne s'appliquent pas quand vous le copiez depuis son dossier parent.
Créer des règles
Dans le panneau actif, ouvrez un dossier, par ex. celui de votre projet.
Sélectionnez les fichiers et les dossiers à ignorer (par ex.
node_modules,build). Vous pouvez aussi ne rien sélectionner.Choisissez Outils → Ajouter un fichier .ffignore.
L'application crée .flyingfiles/.ffignore.txt (avec .flyingfiles comme première règle, pour que le dossier des règles ne soit pas copié lui-même) et .ffconfig.txt avec les règles actives par défaut. Elle ajoute les éléments sélectionnés comme motifs : un dossier sous la forme nom/, un fichier sous la forme nom. Le titre de la fenêtre affiche les chemins des deux fichiers, et le curseur se pose sur le dossier .flyingfiles.
Vous pouvez modifier .ffignore.txt plus tard avec F4, comme tout fichier texte. Vous pouvez aussi ajouter des règles depuis la fenêtre Rechercher les modifications.
Où elles s'appliquent
| Opération | Comment |
|---|---|
| Copier F5 | la fenêtre Copier propose une case Appliquer les règles .ffignore quand le dossier source ou le dossier de destination a des règles ; son état initial vient de .ffconfig.txt |
| Déplacer F6 | les règles sont appliquées automatiquement quand .ffconfig.txt les active |
| Rechercher… | la case Tenir compte du fichier .ffignore |
| Rechercher les modifications… | la case Tenir compte du fichier .ffignore et les boutons qui ajoutent des règles |
Les règles fonctionnent dans les deux sens :
les règles du dossier source ignorent les éléments correspondants lors de la copie ;
les règles du dossier de destination protègent les emplacements correspondants à destination — un élément qui atterrirait sur un chemin protégé est ignoré.
Si les règles filtrent tout, l'application dit : « Rien n'a été copié. Vérifiez si des règles du fichier .ffignore.txt ont bloqué le transfert. »
Syntaxe
| Motif | Ce qu'il ignore |
|---|---|
node_modules/ | tout élément nommé node_modules à n'importe quelle profondeur, avec tout son contenu |
*.log | les fichiers .log dans tous les dossiers |
build | un fichier ou un dossier nommé build à n'importe quelle profondeur |
/dist/ | seulement l'élément dist directement dans le dossier qui porte les règles |
docs/drafts | un chemin compté depuis le dossier qui porte les règles (une barre oblique au milieu ancre le motif) |
cache/* | le contenu du dossier cache directement dans le dossier qui porte les règles, mais pas le dossier lui-même |
**/tmp/** | le dossier tmp à n'importe quelle profondeur, avec son contenu |
? / [abc] | un seul caractère quelconque / un des caractères indiqués |
!important.log | exception : ne pas ignorer important.log, même s'il correspond à un motif précédent |
# commentaire | une ligne sans effet |
C'est le dernier motif correspondant qui l'emporte.
Contrairement à Git, une barre oblique à la fin d'un motif (
build/) ne le limite pas aux dossiers — il correspond aussi à un fichier de ce nom.La casse compte sur tous les systèmes (
*.JPGne correspond pas àphoto.jpg).Les lignes vides n'ont aucun effet ; les espaces de fin sont retirés ;
\désactive le sens spécial d'un caractère (\#fichier).
Exemple
.flyingfiles/.ffignore.txt pour un projet de site web :
.flyingfiles
.git/
node_modules/
*.log
.DS_Store
/config/local.php
Entrez dans le dossier du projet, sélectionnez tout (+) et appuyez sur F5 avec Appliquer les règles .ffignore coché : le contenu du projet part vers le serveur sans le dépôt, les dépendances, les journaux, les fichiers du Finder ni la configuration locale — et Rechercher les modifications n'affiche que les fichiers que vous avez vraiment besoin d'envoyer.
FlyingFiles 1.7.4 · Les fonctions ajoutées après la 1.0.0 sont signalées dans le texte.