Відповіді:
Перше правило відповідності застосовується, тому включіть його .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, дивіться також тут