rsyncを使っているときに,大体どんなプロジェクトでも共通して無視したいファイルがあるのでそれを設定する.
自分はfishを使っているので設定に以下の alias を追加する.ホームディレクトリに .rsyncignore があればそれを読み込んでくれる.
-
fishの場合
# rsync global excluding setting
if test -f ~/.rsyncignore
alias rsync "rsync --exclude-from ~/.rsyncignore"
end
-
bash/zshの場合
if [ -e ~/.rsyncignore ]; then
alias rsync="rsync --exclude-from ~/.rsyncignore"
fi
rsyncでは --exclude-from でファイルを渡すことで除外リストを設定できる.このとき,ファイルの記述形式は各行が--exludeに渡されるものと思えば良い.(.gitignoreとかと同じように書けばだいたい大丈夫)
--exludeと同様,--exclude-from も複数指定できるので,ローカルの除外リストをさらに付け加えても支障はない.
rsync -auv --dry-run --exclude-from ./rsyncignore.local from/ to/