Hier ist ein Link zum Abschnitt " Pfadangaben" und "Pfad ignorieren " des Unison-Handbuchs, da dies mein Lieblingsabschnitt ist, wenn Sie Fragen zu Unison beantworten. Beachten Sie, dass ignore Name = name
jeder Pfad ignoriert wird, in dem die letzte Komponente übereinstimmt name
. Ebenfalls
[Das Zeichen]
*
entspricht einer beliebigen Folge von Zeichen, die nicht enthalten/
(und nicht mit.
, wenn sie am Anfang eines Namens verwendet werden).
So können wir Pfade genauso ignorieren wie bestimmte Dateitypen. Unter Berücksichtigung der Tatsache, dass IhrFormal .git
, .bundle
und node_module
haben alle einen führenden /
Charakter, kann aber unter einem versteckten Verzeichnis gefunden werden, die mit einem beginnt .
, sind die folgenden Zeilen, was Sie wollen:
ignore = Name {*/,.*/}.git ignore = Name {*/,.*/}.bundle ignore = Name {*/,.*/}node_module
Für alle, die nur das gesamte root
Verzeichnis synchronisieren, gibt es einen unglücklichen Eckpunkt, den dies nicht abdeckt: Wenn sich diese Dateien auf der obersten Ebene befinden, direkt im root
Verzeichnis, das Sie synchronisieren, gibt es kein führendes /
Zeichen. Dieses Problem wird im obigen Profil vermieden, da nur das Verzeichnis testdir
mit der Leitung synchronisiert wird path = hack/testdir
. Für jemanden, der das gesamte Root-Verzeichnis synchronisiert, könnten Sie sowieso etwas .*,*
zu den Globbing-Mustern hinzufügen, aber diese Muster passen zu jeder Datei mit einem ähnlichen Namen foo.git
. Sie können sich also entweder auflösen, um keine Verzeichnisse / Dateien mit dem Namen .git
usw. in der obersten Ebene Ihres root
Verzeichnisses zu haben, oder wenn Sie in Ordnung sind, wenn Sie mit ähnlichen Dingen übereinstimmenfoo.git
Auch können Sie die Zeilen verwenden:
ignore = Name {.*,*,*/,.*/}.git ignore = Name {.*,*,*/,.*/}.bundle ignore = Name {.*,*,*/,.*/}node_module