Risposte:
Si applica la prima regola di abbinamento, quindi includi .htaccessprima di escludere .*.
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
Questo copia .htaccessad ogni livello. Non so con cosa intendevi ./.htaccess; se si desidera abbinare un file solo alla radice della copia, avviare il modello con a /. Se vuoi solo il root .htaccess, non puoi semplicemente usarlo --include='/.htaccess' --exclude='.*', perché la regola non rooted in realtà ha la precedenza qui, devi fare qualcosa di più complicato:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
Ulteriori letture: principi di base per i filtri rsync .
--includeprimo, ma il "./" davanti al "./.htaccess" era ciò che lo stava uccidendo.
.htaccessfile, dovrai --include='.*/'(penso) prima della finale --exclude, vedi anche qui