Ответы:
Применяется первое правило соответствия, поэтому включите .htaccess
перед исключением .*
.
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
Это копии .htaccess
на каждом уровне. Я не знаю, что вы намеревались ./.htaccess
; если вы хотите сопоставить файл только в корне копии, начните шаблон с /
. Если вам нужен только рут .htaccess
, вы не можете просто использовать его --include='/.htaccess' --exclude='.*'
, потому что правило без рутов здесь имеет приоритет, вам нужно сделать что-то более сложное:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
Дальнейшее чтение: основные принципы для фильтров rsync .
--include
первый, но «./» перед «./.htaccess» был тем, что убивало его.
.htaccess
файл, вам придется --include='.*/'
(я думаю) до финала --exclude
, см. Также здесь