使用 Rsync 包含/排除规则来包含多个文件并仅排除一个目录 (.git)

问题描述

这个问题已经以不同的形式提出过,但不是专门针对我的用例。我想设置包含/排除规则(通过 VSCode 的 Sync-Rsync,但这是一个细节),以便它将所有 *.cpp、*.hpp、*.xxx 等文件包含在整个目录树中,完全排除(为了安全)整个 .git 目录。

我想出的最接近的是以下内容

"sync-rsync.exclude":[
    "*"
 ],"sync-rsync.include": [
    "*[!.git]/","**/*.h",...

但这并不能完全满足我,因为如果将来还有其他目录,我想排除它只会变得一团糟。

我尝试了如下方法

"sync-rsync.exclude":[
    "*"
    ".git/"
 ],"sync-rsync.include": [
    "*/",...

但是由于我必须包含 */ 目录才能找到其中的所有文件,因此 .git exclude 指令将被忽略。这令人沮丧,我可能还没有获得排除/包含规则集的强大功能,但它看起来确实违反直觉。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)