我们如何创建自上次部署以来已更改的文件列表?使用Git

时间:2017-08-22 08:38:40

标签: git deployment tfs

我们正在使用TFS从Git存储库部署PDF文件。

部署与特定分支相关联。

经常会决定分支包含足够好的文件来部署。

我们只想部署自上次部署以来已更改的文件,而不是整个分支。它是巨大的,需要很长时间来部署整个事物。

如何在部署发生时以某种方式标记分支,然后在需要下一次部署时,将当前分支与标记进行比较,然后仅部署更改/差异/增量?

只是要强调,这个分支只包含PDF文件,而不是代码。它不需要编译。

要澄清:

在构建服务器上,我们希望避免每次部署过程运行时都必须克隆整个存储库。通常,部署的第一步是克隆存储库,但这需要太长时间。有没有办法只下拉已添加或修改的文件?稀疏结账可能吗?

1 个答案:

答案 0 :(得分:2)

所有答案都在你的问题中:

  1. 每次要部署时,都会创建一个标记:git tag X.Y.Z ${COMMIT_TO_TAG}
  2. 通过仅列出文件git diff --name-status ${PREVIOUS_TAG}..${TAG_TO_DEPLOY}
  3. 与之前的代码进行比较

    要查找上一个标记:

    • 在创建当前代码之前:git describe --first-parent --tags --abbrev=0 ${COMMIT_TO_TAG}
    • 创建当前代码后:git describe --first-parent --tags --abbrev=0 ${TAG_TO_DEPLOY}~1