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



尝试使用这样的命令制作zip存档

git archive-v-o app.zip--添加文件=.env--添加文件=.eextensions/my-scripts.config HEAD

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

问题是my-script.config添加到了归档文件的根目录中,但我需要像最初一样在.eextensions文件夹中使用它。

是否有任何方法可以通过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(2.29及更高版本(的Git版本。本质上,--prefix设置当前前缀;--add-file添加一个文件,其路径名由前缀加上路径的尾部组成,然后--prefix替换前缀,这样就不必影响其余操作。