如何 rsync 排除 .git/ 文件夹但仍保留 .git/config 文件?

如何 rsync 排除 .git/ 文件夹但仍保留 .git/config 文件?

简而言之

要 rsync 一个已排除 .git/ 但仍保留 .git/config 文件的文件夹,该怎么做?

我的谷歌搜索没有帮助所以我在这里问。

详细信息

我想将我所有项目的代码快照保存到另一台机器上。

每个项目代码文件夹都是 git 克隆的,因此它们都有 .git 文件夹。

我不需要那些.git,所以将它们排除在外。

但是我需要知道项目来自哪个 git repo,所以需要保留 .git/config。

我尝试过但没有奏效的方法运行

rsync -chazvP --dry-run --exclude=".git" --include=".git/config"  $FROM/ $TO/
#             .         .                .                        .      .

如果您知道正确的方法,请分享。

答案1

找到答案这里

这个想法是include.git/配置exclude.git/*

rsync -chazP  --include '.git/config'  --exclude '.git/*'  "$FROM/" "$TO/"
#     .       include must go first   .                    .        .

查看详细信息并运行这里

相关内容