Поэтому я пытаюсь работать с командой для rsync исходной папки со структурой, например, так:
- app.js
- .gitignore
- src/
- src/logs/
- src/logs/.gitignore
Первый .gitignore будет игнорировать ряд файлов. Типичные вещи. Второй будет выглядеть следующим образом:
*
!.gitignore
Этот метод используется, когда вы хотите проверить каталог, в котором нет ни одного файла. В каталоге также может быть больше .gitignores - это только один сценарий. Поэтому мой вопрос заключается в следующем: можно ли заставить rsync интерпретировать все .gitignores относительно каталога, в котором они находятся?
Моя первая попытка была следующей:
- Glob все .gitignores в каталоге.
- Команда построения, которая выглядит примерно так:
rsync --exclude-from=.gitignore --exclude-from=src/logs/.gitignore --exclude-from=some/other/folder/.gitignore [source] [destination]
Однако, это не сработало, как ожидалось для меня. Все игнорируется, потому что он читает все файлы .gitignore, как будто они находятся в корне. Есть ли какой-нибудь возможный способ сделать это без необходимости использовать grep для всех .gitignores и создать один мастер-файл с переписанными путями относительно корневого каталога?
Спасибо!