代码之家  ›  专栏  ›  技术社区  ›  Aaron McAdam

bash脚本同步目录,但忽略某些文件

  •  1
  • Aaron McAdam  · 技术社区  · 15 年前

    我正试图想出一个解决方案来解决我的电话缺口项目。目前,我正在一个文件夹中开发,然后将经过编辑的文件复制到xcode的www文件夹中,这样我就可以将git repo与构建的内容分开。这变得非常重复,我想自动化它。有什么想法吗? 基本上它需要忽略.git、.project和其他点文件。我在mac操作系统上。

    3 回复  |  直到 15 年前
        1
  •  4
  •   JOTN    15 年前

    用rsync很容易做到。选中手册页中的--exclude选项。

        2
  •  1
  •   Cascabel    15 年前

    如果这是在git repo中,您也可以使用 git archive 把东西打包——这样做的好处是只查看被跟踪的内容,能够对任意提交进行操作,而不仅仅是查看当前工作树中的内容。

    如果有不想存档的跟踪文件,可以使用“导出忽略”将其排除 gitattribute . 例如:

     $ cat .gitattributes
     .project export-ignore
     .gitignore export-ignore
     .gitattributes export-ignore
    

    就像.gitignores一样,子目录中也可以有.gittattributes,并且可以使用模式。例如,后两个可以简化为 .git* .

    请注意,git archive在默认情况下将使用您正在存档的commit/tree中的属性,而不是工作树中的属性,因此,如果您正在修改属性和测试,则需要使用 git archive --worktree-attributes .

        3
  •  0
  •   dweeves    15 年前

    您可以使用rsync(用于同步目录)&还可以将其配置为具有某些模式匹配,以包括&或从同步中排除文件。

    推荐文章