我想将源代码文件从远程文件系统复制到本地服务器。源代码文件扩展名是 *.?pp、*.[CHh]。
如何运行 rsync 来复制远程文件系统层次结构和源代码文件,排除其他所有内容(二进制文件、库、对象、存储库文件......)?
附言:到目前为止,我用的是这条可怕的线路,一定有一个更简单的解决方案:
$ rsync --include "*/" --include="*/*" --include="*/*/*" --include="*/*/*/*" --include="*.[CHh]" --include="*.?pp" --exclude="*" -axW user@remote/my/remote/dir ./
答案1
您可以使用双星来简化包含内容:
rsync -axW --exclude="*" --include="**/.[CHh]" --include "**/*.?pp" ...