为git archive指定自定义gitattributes文件位置

时间:2017-02-18 06:00:18

标签: git gitattributes git-archive

我希望公开git archive,但是有办法让用户要求排除某些文件或整数,因此生成的存档文件不是很大。

通常,您将文件/ glob列表写入.gitattributes,然后运行git archive。但这意味着每个磁盘存储库只能有一个人可以请求存档,因为他们必须将他们的忽略导出列表写入.gitattributes,然后在屈服于其他人之前获取存档。这也意味着你之前所拥有的任何设置都会受到破坏。

有没有办法可以写入/ tmp / attributes-1或其他类似的临时文件,并告诉git archive读取.gitattributes文件而不是$repo/.gitattributes?阅读文档字符串,它看起来并不像。

https://git-scm.com/docs/git-archive

https://git-scm.com/docs/gitattributes

1 个答案:

答案 0 :(得分:1)

您是否错过git archive的{​​{3}}选项?

  

<强> --worktree-attributes

     

在工作树中查找.gitattributes个文件中的属性   好吧(参见“属性”一节)。

     

...

     

请注意,属性默认取自.gitattributes   正在存档的树中的文件。 如果你想调整一下   事后生成输出的方式(例如你没有提交   在其export-ignore中添加适当的.gitattributes,进行调整   根据需要检出.gitattributes文件并使用   --worktree-attributes选项。或者你可以保持必要   存档中的任何树时应该应用的属性   $GIT_DIR/info/attributes档案。

因此,您必须签出临时工作树,在那里设置所需的gitattributes并使用--worktree-attributes选项。