Jawaban:
Aturan pencocokan pertama berlaku, jadi sertakan .htaccesssebelum mengecualikan .*.
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
Ini salinan .htaccessdi setiap level. Saya tidak tahu apa yang Anda maksudkan ./.htaccess; jika Anda ingin mencocokkan file hanya dengan menyalin, mulailah pola dengan a /. Jika Anda hanya ingin root .htaccess, Anda tidak bisa hanya menggunakan --include='/.htaccess' --exclude='.*', karena aturan non-root sebenarnya diutamakan di sini, Anda perlu melakukan sesuatu yang lebih rumit:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
Bacaan lebih lanjut: prinsip dasar untuk filter rsync .
--includepertama, tetapi "./" di depan "./.htaccess" adalah apa yang membunuhnya.
.htaccessfile, Anda harus --include='.*/'(saya pikir) sebelum final --exclude, lihat juga di sini