2012-04-10 8 views
4

我有一堆源代码的git仓库,并且编译了一堆二进制文件。二进制文件全部列在合适的.gitignore文件中,不包括在回购中。运行git存档时忽略.gitignore

但是,我想分发包含所有二进制文件的源代码+二进制文件快照zip文件,但不包含.git /目录。

这似乎像自然的方式来创建一个快照zip文件将

git archive -o archive.zip 

但是,这并不包括任何这是在的.gitignore二进制文件。

关于如何使用git存档完成此操作的想法? (我的解决方法是手动创建一个包含.git /目录以外所有内容的zip压缩文件)

回答

1

我不认为你可以使用'git archive'来达到你希望实现的目的。 'git archive'对提交起作用,而你的二进制文件根本不可见。注意'git archive'是如此的以提交为中心,你可以直接在一个没有源控制文件存在的裸仓库中直接使用git archive。

0

作为GoZonerstates,这不是可以用git archive完成的任务。

使用正确的工具进行正确的任务。我也做了一些非常相似的事情,并有一个Perl脚本来创建包含源代码和编译内容的存档。

只需拉上了这是在编译过程中创造一切可能不是你想要什么:

  • 如果要交出一个图书馆的人,他将只关注在图书馆和一些标头能够使用库。例如,无需存档目标文件和其他中间内容。

  • 如果您希望您的受众能够自行构建库,请包括来源,所需的项目文件以及可能的预构建二进制文件。

  • ...

所以,从我的经验,我建议把你所选择的脚本语言和运用语言的提供机制,以创建您的通讯。这样做,您还可以在您的发行版中创建不同的文件夹结构,而不必与磁盘上的结构相匹配。

要注意从中归档文件的创建git的版本,你可以存储在zip文件中注释的修订:

screenshot

+0

如何使用Git归档保存有何评论? – alexis 2015-07-28 21:25:02

+0

@alexis:你不能。显示的档案是使用Perl脚本创建的。 – eckes 2015-07-29 04:13:16