2011-06-30 136 views
4

我有几个项目想用Git控制。每个项目由在Visual Studio中创建的源代码,PAD文件(XML文件),多个.txt文件,几个.psd文件(photoshop文件),.jpg/.png/.bmp文件,编译的安装文件等组成。我应该存储在Git仓库中,哪些不是?我应该在Git中存储什么?

我知道像PAD文件或.txt文件的所有文本文件都可以存储在那里,但.psd文件,图像文件和编译的设置呢?有没有一篇文章清楚地描述了为什么把二进制数据放入Git不是一个好主意?

将所有内容都放入Git的一大优势是,当我标记特定软件版本(已公开发布)时,一旦检出该标签,就会得到与该特定发行版相关的所有内容 - 其安装文件,所有源代码,图片和宣传材料,而且我完全回到了时间不需要在其他地方找到其他文件。有什么缺点?你在公司如何解决这个问题?

+3

http://stackoverflow.com/questions/1911005/ git-and-binary-data http://stackoverflow.com/questions/540535/managing-large-binary-files-with-git –

+1

没有明确的规则,但通常是大的二进制文件和编译结果/生成步骤不应该在回购中。如果您分发源代码并使用通常不可用的代码生成器,则后一规则可能会被违反。 –

回答

3

我把二进制文件也放在git中。为什么不?通常我的PSD在整个开发阶段都没有改变,因为设计已经充实了,但如果他们那时我可能会检查他们...

+0

为了澄清,您的意思是二进制文件在二进制文件中,而不是二进制文件,如在编译对象/可执行文件中,是正确的? –

+2

“为什么不” - 因为您的回购增长非常大,运输它们变得非常繁重。我曾经花了几天的时间只检查一个SVN回购站的主干,包含大量声音文件和图片,通过一个到外部服务器的慢速链接。 –

+0

如果你真的想存储二进制文件,也许考虑使用子模块? –

相关问题