在Git仓库中管理非代码资源的最佳方法

时间:2009-10-06 12:36:01

标签: git

目前我正在为我的项目使用SVN,文件夹结构如下:

 /trunk
    /design
    /flash
    /resources
    /scrap
    /www

我将所有网站源文件(psds等)保存在design文件夹中,这样可以增加几百MB或更多。我这样做是因为我通常是项目中唯一的开发人员,我经常在两个工作站之间切换,并且总是想要最新的资源。我通常从不使用分支(使用SVN)。

当我部署到网络服务器时,我结帐/trunk/www/,其中只包含网站代码和任何已编译的swfs(.fla和.as源文件保存在/trunk/flash内)。

我正在转向Git,这种结构对我来说是错误的,主要是因为:

  1. 我不想在部署期间将所有资源都转移到网络服务器。
  2. 我一般不想分支二进制文件,也不想因此而不得不处理潜在的冲突。
  3. 有关我可以做什么的任何建议,或者有什么对你有用的见解?

    更新

    我已决定进入子模块路由,其中​​www是子模块,而父存储库中的所有其他内容。直到git支持部分结账,我认为这是我最好的选择,同时保持理智。

2 个答案:

答案 0 :(得分:3)

如何为二进制文件或www目录使用单独的repo。

答案 1 :(得分:1)

我使用.gitignore - 文件中的规则在git中处理二进制文件。

意思是:我忽略所有二进制文件,因此它们不会被提交,只是为了测试或部署而构建它们。节省带宽(好吧,这不是那么重要),并且只保留版本号以进行代码更改。

更新:

有点确信:使用第二个存储库也是一种解决方案。您可以使用git-submodule将其集成到代码库中。关于stackoverflow的另一个讨论已经讨论过这个主题:Managing large binary files with git