Jawaban:
Aturan pencocokan pertama berlaku, jadi sertakan .htaccess
sebelum mengecualikan .*
.
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
Ini salinan .htaccess
di 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 .
--include
pertama, tetapi "./" di depan "./.htaccess" adalah apa yang membunuhnya.
.htaccess
file, Anda harus --include='.*/'
(saya pikir) sebelum final --exclude
, lihat juga di sini