web-dev-qa-db-ja.com

rsyncを使用してgitサブディレクトリなしでディレクトリをバックアップする方法

cディレクトリを、./gitサブディレクトリを除くすべてのサブディレクトリとともにコピーしたい。私はrsyncを使用してそれを行います:

echo "copy c and sh files "
rsync -a --include='*.c' --include='*.sh' --include='*/' --exclude='*' ~/c/ ~/Dropbox/Public/c
# remove .git directory = do not send it to dropbox. Thx to Tomasz Sowa
rm -rf ~/Dropbox/Public/c/.git

もっと上手にできる?

49
Adam

.gitの明示的な除外を追加するだけです。

rsync -a --exclude='.git/' --include='*.c' --include='*.sh' --include='*/' --exclude='*' ~/c/ ~/Dropbox/Public/c

別のオプションは、除外する他のディレクトリと一緒に次の行を含む~/.cvsignoreを作成することです。

.git/

56
Quetza

rsync --cvs-excludeだけを使用できます。また、.gitディレクトリも無視します。

ただし、Magentoソースファイルで発生するcoreというディレクトリも無視されることに注意してください。

32
sebastianwagner