Odpowiedzi:
Obowiązuje pierwsza reguła dopasowania, więc dołącz .htaccess
przed wykluczeniem .*
.
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
To kopiuje .htaccess
na każdym poziomie. Nie wiem z czym zamierzałeś ./.htaccess
; jeśli chcesz dopasować plik tylko w katalogu głównym kopii, rozpocznij wzór od /
. Jeśli chcesz tylko rootowania .htaccess
, nie możesz po prostu go użyć --include='/.htaccess' --exclude='.*'
, ponieważ reguła niezrootowana ma tutaj pierwszeństwo, musisz zrobić coś bardziej skomplikowanego:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
Dalsza lektura: podstawowe zasady dotyczące filtrów rsync .
--include
pierwszy, ale „./” przed „./.htaccess” było tym, co go zabijało.
.htaccess
plik, musisz --include='.*/'
(myślę) przed finałem --exclude
, patrz także tutaj