.ffignore-Regeln

.ffignore-Regeln legen fest, welche Dateien und Ordner FlyingFiles nicht kopieren, nicht verschieben und nicht in Suchergebnissen anzeigen soll. Ein typisches Beispiel: ein Projekt ohne node_modules/, .git/ und *.log-Dateien auf einen Server hochladen.

Die Syntax ist dieselbe wie in der Datei .gitignore, die Sie vielleicht von Git kennen.

Wo die Regeln liegen

Regeln gehören zu einem bestimmten Ordner und liegen in dessen Unterordner .flyingfiles/:

Project/
  .flyingfiles/
    .ffignore.txt     Muster, eines pro Zeile
    .ffconfig.txt     Einstellung: ob die Regeln standardmäßig eingeschaltet sind
  src/
  node_modules/

.ffconfig.txt enthält JSON, z. B. { "ffignore_default": true }. Der Wert true bedeutet, dass die Regeln standardmäßig eingeschaltet sind.

Achtung: Beim Kopieren und Verschieben liest das Programm die Regeln aus dem Ordner, in dem die markierten Elemente liegen, und auf der Zielseite aus dem Zielordner sowie aus den kopierten Ordnern, falls diese im Ziel schon existieren. Beim Suchen liest es sie aus dem durchsuchten Ordner. Regeln aus höher gelegenen Ordnern werden nicht geerbt, und die eigenen Regeln eines markierten Ordners gelten nicht, wenn Sie ihn aus seinem übergeordneten Ordner kopieren.

Regeln anlegen

  1. Öffnen Sie im aktiven Panel einen Ordner, z. B. Ihren Projektordner.

  2. Markieren Sie die zu überspringenden Dateien und Ordner (z. B. node_modules, build). Sie können auch nichts markieren.

  3. Wählen Sie Funktionen → .ffignore-Datei hinzufügen.

Das Programm legt .flyingfiles/.ffignore.txt an (mit .flyingfiles als erster Regel, damit der Regelordner selbst nicht kopiert wird) sowie .ffconfig.txt mit standardmäßig eingeschalteten Regeln. Die markierten Elemente fügt es als Muster hinzu: einen Ordner als name/, eine Datei als name. Der Fenstertitel zeigt die Pfade beider Dateien, und der Cursor steht auf dem Ordner .flyingfiles.

Sie können .ffignore.txt später wie jede Textdatei mit F4 bearbeiten. Regeln lassen sich auch aus dem Fenster Änderungen suchen hinzufügen.

Wo sie gelten

VorgangWie
Kopieren F5der Dialog Kopieren hat ein Kontrollkästchen .ffignore-Regeln anwenden, wenn der Quell- oder Zielordner Regeln hat; sein Anfangszustand stammt aus .ffconfig.txt
Verschieben F6die Regeln werden automatisch angewendet, wenn .ffconfig.txt sie einschaltet
Suchen…das Kontrollkästchen .ffignore-Datei berücksichtigen
Änderungen suchen…das Kontrollkästchen .ffignore-Datei berücksichtigen und Schaltflächen, die Regeln hinzufügen

Regeln wirken in beide Richtungen:

  • die Regeln des Quellordners überspringen beim Kopieren passende Elemente;

  • die Regeln des Zielordners schützen passende Orte im Ziel — ein Element, das auf einem geschützten Pfad landen würde, wird übersprungen.

Filtern die Regeln alles heraus, meldet das Programm: „Es wurde nichts kopiert. Prüfen Sie, ob Regeln in .ffignore.txt die Übertragung blockiert haben.“

Syntax

MusterWas es überspringt
node_modules/jedes Element namens node_modules in beliebiger Tiefe, mit seinem gesamten Inhalt
*.log.log-Dateien in jedem Ordner
buildeine Datei oder einen Ordner namens build in beliebiger Tiefe
/dist/nur das Element dist direkt im Ordner mit den Regeln
docs/draftseinen Pfad, gerechnet ab dem Ordner mit den Regeln (ein Schrägstrich in der Mitte verankert das Muster)
cache/*den Inhalt des Ordners cache direkt im Ordner mit den Regeln, nicht aber den Ordner selbst
**/tmp/**den Ordner tmp in beliebiger Tiefe, zusammen mit seinem Inhalt
? / [abc]ein beliebiges einzelnes Zeichen / eines der aufgeführten Zeichen
!important.logAusnahme: important.log nicht überspringen, obwohl es zu einem früheren Muster passt
# commenteine Zeile ohne Wirkung
  • Das letzte passende Muster gewinnt.

  • Anders als in Git beschränkt ein Schrägstrich am Ende eines Musters (build/) das Muster nicht auf Ordner — es passt auch auf eine Datei mit diesem Namen.

  • Die Groß-/Kleinschreibung zählt auf jedem System (*.JPG passt nicht auf photo.jpg).

  • Leere Zeilen bewirken nichts; Leerzeichen am Zeilenende werden entfernt; \ hebt die Sonderbedeutung eines Zeichens auf (\#file).

Beispiel

.flyingfiles/.ffignore.txt für ein Website-Projekt:

.flyingfiles
.git/
node_modules/
*.log
.DS_Store
/config/local.php

Wechseln Sie in den Projektordner, markieren Sie alles (+) und drücken Sie F5 mit angekreuztem .ffignore-Regeln anwenden: Der Projektinhalt gelangt ohne Repository, Abhängigkeiten, Logs, Finder-Dateien und lokale Konfiguration auf den Server — und Änderungen suchen zeigt nur die Dateien, die Sie wirklich hochladen müssen.

FlyingFiles 1.7.4 · Funktionen, die nach 1.0.0 hinzukamen, sind im Text gekennzeichnet.