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


43

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

もっとうまくできますか?

回答:


48

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

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

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

.git/


のパスの指定方法が指定されています--exclude。問題がある場合は、この回答をご覧ください
totymedli

32

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

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


10
これは最上位の.gitディレクトリでは機能しますが.git、サブモジュールのディレクトリでは機能しません。また、などのGitファイルを無視しません.gitmodules
maxschlepzig 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.