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

Git archive adding not versioned file to subdirectory

正在尝试使用此类命令制作 zip 存档

git archive -v -o app.zip --add-file=.env --add-file=.ebextensions/my-scripts.config HEAD

2 个未版本化的文件通过 --add-file 选项添加。

问题是我的-script.config 添加到存档的根目录,但我需要它在最初的 .ebextensions 文件夹中。

有什么方法可以用git archive命令实现吗?

这在任何地方都没有记录,所以我不确定你应该相信它多少,但测试表明它有效:

git archive -v -o app.zip \
    --add-file=.env \
    --prefix=.ebextensions/ --add-file=.ebextensions/my-scripts.config \
    --prefix= HEAD

(全部作为一行,没有反斜杠换行符,或者在 sh / bash 中保留反斜杠)在 Git 2.34 版中实现了这一点。根据代码,它应该适用于具有 --add-file 的所有 Git 版本(2.29 及更高版本)。本质上,--prefix 设置了 current 前缀; --add-file 添加一个文件,其路径名由前缀加上路径的尾部组成,然后 --prefix 然后 替换 前缀,这样你就没有影响其余动作。