Risposte:
Si applica la prima regola di abbinamento, quindi includi .htaccess
prima di escludere .*
.
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
Questo copia .htaccess
ad 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 .
--include
primo, ma il "./" davanti al "./.htaccess" era ciò che lo stava uccidendo.
.htaccess
file, dovrai --include='.*/'
(penso) prima della finale --exclude
, vedi anche qui