尝试备份文件夹列表,其中一些是 git 存储库

尝试备份文件夹列表,其中一些是 git 存储库

我有一个文件夹列表,其中一些是 git 存储库。为了备份它,我尝试了以下rsync命令:

LANG=EN_us.UTF-8 rsync -ravdhHP --delete --files-from=rsyncFolders.txt --ignore="node_modules" --ignore="vendor" --include .git --exclude-from="$(if [ `git ls-tree -d --name-only master SRC | wc -l` -eq 1 ]; then git -C SRC ls-files --exclude-standard -oi --directory > .git/ignores.tmp && echo .git/ignores.tmp; fi)" --exclude node_modules --exclude vendor . "/media/pcmagas/79B56D48414DEE1B/pcmagas"

我有一个文件夹要备份在一个名为的文件上rsyncFolders.txt,并具有以下内容:

folder_a
folder_b
somefile_txt
code

在该code文件夹中存在一些.git存储库,并且其中有很多junk文件和文件夹,以便我想避免将其保存到我的备份中。所以我的备份逻辑如下:

  1. 如果文件夹是.git存储库,则不要保留.gitignored 文件
  2. 如果没有,则忽略任何*.class文件,以防存在一些 java 文件。 (一些已经被玩过的示例代码片段)
  3. 任何情况下都不要备份任何 php 或 javascriptnode_modules项目。vendor

当我运行上面的命令时,出现以下错误:

fatal: Not a git repository (or any of the parent directories): .git
rsync: --ignore=node_modules: unknown option
rsync error: syntax or usage error (code 1) at main.c(1572) [client=3.1.1]

你知道怎么做吗?

相关内容