设置SVN(SubvVersion)来管理我们公司的文件,如何从版本控制中排除大型文件

设置SVN(SubvVersion)来管理我们公司的文件,如何从版本控制中排除大型文件,svn,version-control,Svn,Version Control,我和另外两个人最近成立了自己的网络开发公司。我们每个人都在家里工作,并决定为所有文件保留一个中心位置。这些文件包括word文档、电子表格、客户端文件、设计。。等等任何与我们公司有关的事情。我有一个非常可靠的互联网连接,家里有一个Windows2008服务器盒,所以我设置了一个subversion存储库 我们的文件存储库将如下所示 Clients Company A Design (photoshop files, wireframes, concepts) Do

我和另外两个人最近成立了自己的网络开发公司。我们每个人都在家里工作,并决定为所有文件保留一个中心位置。这些文件包括word文档、电子表格、客户端文件、设计。。等等任何与我们公司有关的事情。我有一个非常可靠的互联网连接,家里有一个Windows2008服务器盒,所以我设置了一个subversion存储库

我们的文件存储库将如下所示

Clients
   Company A
       Design (photoshop files, wireframes, concepts)
       Documents ( logins, quotes, proposals etc)
       Site Backups
   Company B
       Design 
       Documents 
       Site Backups
Prospects
   Company C
   Company D
Our Company
   Our Website
   Documents (contract, operating procudres)
我的问题是关于设计文件。我的设计师使用的photoshop文件大小从10mb到100mb不等。我不认为我们需要保持这些文件的版本,因为这样会以难以置信的速度占用空间我如何控制哪些文件被版本化,哪些文件刚刚被存储。我的想法是,所有文档都需要版本化,除此之外的任何文件都不应该版本化

任何帮助都将不胜感激,谢谢

编辑
我也很好奇这是否是一条路要走。我很喜欢这个系统,因为它可以同时保存我所有文档的版本。实际上,我将在3个不同的位置(3个本地副本)进行3次备份,因此无需备份。我不确定svn作为一个纯粹的大型文件存储库将如何运行

使用
svn:ignore
属性。这里有一句话可以解释:

svn:ignore属性包含一个 特定的文件模式列表 Subversion操作将忽略。 也许是最常用的特效药 属性,它与 全局变量忽略运行时 配置选项(请参阅一节 调用“Config”)以筛选未版本的 命令外的文件和目录 svn状态、svn添加和svn导入

svn背后的基本原理:忽略 属性很容易解释。 Subversion并不认为每个 工作副本中的文件或子目录 该目录适用于版本 控制资源必须明确分配 置于Subversion的管理之下 使用svn添加或svn导入 命令。因此,经常有 工作副本中的许多资源 没有版本控制

这是从“颠覆书”中摘取的



请注意,
svn:ignore
属性可以通过文件名通配符设置(即
*.exe
)。您可以添加编程脚本(使用编程语言的挂钩或SVN绑定)来指定其他规则,即忽略所有大于100MB的文件。然而,这可能有点危险。这是你的选择。

与你可能认为的相反,Subversion实际上非常适合存储二进制文件,甚至可以在不同版本之间进行二进制差异


文件大小在您决定是否对文件进行版本设置时不应引起关注。您是否需要版本控制应该引起关注。其他任何事情都是在打自己的脚。

awome!这正是我要找的。你认为使用subversion做我想做的事情合适吗?@Roeland:SVN非常适合所有类型的文件。最好的方法是只在其中存储“源”文件,而不存储工具(编译器、处理器等)从这些源生成的“产品”。只要你这么做了,你就没事了。如果它“没有版本控制”,它还会存储在存储库中吗。看起来“忽略”只是意味着它不会被存储。。我说得对吗?我之所以这么说,是因为我的设计师将在家里处理文件,然后将这些设计文件提交给repo。我希望能够更新本地副本以查看这些设计文件。目前,当他有新的设计时,他必须将其上传到ftp。。然后我必须手动下载它。我希望整个过程能够自动化一点。@Roeland:ignored意味着它不会进入存储库,但SVN不会在存储库中的本地副本上打扰您sandbox@Roeland:请记住,删除它实际上不会从存储库中删除。SVN永远记得(或者它会如何为您恢复一个旧版本,其中该文件尚未删除)如果您在eli的回复中阅读我的评论,您将看到我使用版本控制系统的目的。不,我没有阅读您的评论,因为在我发布回复时,它们还不在那里。而且,它不会改变任何事情。在没有版本控制的情况下,不能使用SVN仅仅“存储”某些内容。这不是它的工作原理。不要将其用作简单的文件服务器。