Я хочу сделать резервную копию нескольких папок. В этих нескольких папках я хочу исключить все каталоги, которые содержат подкаталог .git
. Так, например, в этой иерархии папок:
├── gitrepo <-- exclude this completely
| └── .git/...
│ └── file1
└── nogitrepo <-- keep this
└── file2
Я уже успешно исключил все каталоги .git с помощью --exclude=.git
, но, поскольку все содержимое локальных репозиториев уже находится в удаленном SCM, я не хочу включать их в свою резервную копию.
Мне известен аргумент --filter
команды rsync. Я заглянул в справочную страницу, но не уверен, что это решит эту проблему. Но я настроен оптимистично, поскольку rsync предварительно собирает список всех файлов, включая файлы.
Итак, возможно ли с помощью rsync исключить все папки, которые являются репозиториями git? Что-то вроде правила для каждого каталога для --filter
?