![如何使用rsync备份没有git子目录的目录](https://linux22.com/image/3929/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8rsync%E5%A4%87%E4%BB%BD%E6%B2%A1%E6%9C%89git%E5%AD%90%E7%9B%AE%E5%BD%95%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我想复制我的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
我可以做得更好吗?
答案1
只需为 .git 添加显式排除:
rsync -a --exclude='.git/' --include='*.c' --include='*.sh' --include='*/' --exclude='*' ~/c/ ~/Dropbox/Public/c
另一个选项是创建~/.cvsignore
包含以下行以及您想要排除的任何其他目录:
.git/
答案2
你可以只使用rsync --cvs-exclude
.它还忽略.git
目录。
但请注意,这也会忽略core
Magento 源文件中出现的目录。