Git 存档在最终 zip 输出中删除 .ebextensions

Posted

技术标签:

【中文标题】Git 存档在最终 zip 输出中删除 .ebextensions【英文标题】:Git archive removes .ebextensions on the final zip output 【发布时间】:2016-04-19 13:34:56 【问题描述】:

我有一个 AWS ELB 应用程序。我使用以下命令归档整个 symfony2 项目:git archive --format=zip HEAD > test.zip

但这很奇怪,因为最终输出不包括导致severe 健康的.ebextensions 文件夹。我错过了什么吗?

提前致谢。

【问题讨论】:

您的操作系统是否隐藏了 .ebextensions 文件夹? IE。如果使用 Windows,您是否启用了“显示隐藏的文件夹/文件”?此外,您是否启用了“显示已知类型的文件扩展名”? 不,它没有隐藏。是的,我启用了 em。 :/ 很奇怪吧? 绝对...尝试创建另一个 .whatever 文件夹并用它压缩,看看会发生什么。 我认为 git 忽略了该文件夹或没有看到它。这是来自存储库还是本地变更集? .ebextensions 是否驻留在 HEAD 中?我认为 .ebextensions 中的文件被忽略了,使文件夹为空,或者在 .gitignore 中定义了某些模式而忽略了它... 【参考方案1】:

结论:

基于 @zackery.fix 的 评论。我想为这个问题分享一个简单的解决方案。在我的情况下,.ebextensions 文件夹不在 repo 的 HEAD 上,我只是将 .ebextensions 从另一个来源粘贴到我拥有的该 repo 的本地副本中。我认为这就是命令 git archive --format=zip HEAD > test.zip 排除 .ebextensions 的原因,因为它不在 HEAD 中,因此在归档时被排除。

解决方案 1:

    .ebextensions 文件夹提交到repo HEAD。 再次通过git 执行归档。

解决方案 2:

这可能不是最好的解决方案,但它对我有用。

    我执行了命令 git archive --format=zip HEAD > test.zip,它创建了一个 zip/rar 文件 namd test.rar/test.zip。 打开那个 test.rar/test.zip 文件。将.ebextensions 文件夹放到此处并更新该zip 文件。

【讨论】:

这是有道理的。老实说,我不想问这个问题,因为我认为 HEAD 有文件夹。 ^.^ @zackery.fix 我很高兴它现在有意义了 :D 感谢您的帮助:)

以上是关于Git 存档在最终 zip 输出中删除 .ebextensions的主要内容,如果未能解决你的问题,请参考以下文章

删除 zip 存档中“早于”的文件

如何使用 Sharpcompress .net 从 ZIP 存档中删除单个条目

在 Python 中从克隆的 GitHub 存储库创建 Zip 存档

如何更新 zip 存档中的一个文件

Git存档将未版本控制的文件添加到子目录

如何在 Python 中将文件写入 Zip 文件的根目录