1

我想在执行 synk ant 任务时保留“.git”目录及其所有内容,但它会删除 .git 目录的内容。

<sync todir="${local.git.dir}" includeEmptyDirs="true">
    <fileset dir="${img.dir}"/>
    <preserveintarget>
        <include name=".git"/>
    </preserveintarget>
</sync>

为什么按照这个语法,synk 会删除 .git 目录的内容呢?

这个 synk 任务应该将文件 f1 ( dir="${img.dir}") 复制到目录 dir1 ( todir="${local.git.dir}") 中;dir1 包含目录 .git。

仅当我提到将文件 f1 放入目录 dir1/target 时,Synk 任务才不会删除 .git 目录的内容。在这种情况下,我将具有以下结构:

  • dir1 包含目录:.git 和 target
  • 文件 f1 被复制到目标目录(我不想要)

我希望 dir1 包含 .git 和 f1。

4

1 回答 1

1

我发现了问题。我没有指定保留 .git 中的文件。

通过将 /** 附加到 .git 我解决了问题:<include name=".git/**"/>而不是<include name=".git"/>

于 2017-06-23T10:12:52.720 回答