2011-11-23 32 views
1

我目前在Unity项目中有一个我们不能提交的文件夹,因为它包含经常变化的缓存数据,但对于应用程序运行是必要的,最后一个版本必须是如何让SVN/GIT像二进制文件一样处理文件夹?

当前,我们必须压缩文件夹并提交压缩文件。这显然非常耗时。

有没有办法让SVN或GIT“认为”文件夹就好像它是一个二进制文件?具体来说,它会忽略该文件夹内的单个文件树,而将其作为一个单独的块进行处理。

这可能吗?是否有另一个版本控制解决方案可以做到这一点?谢谢。

(我本来打算写一个BAT文件这将自动进行压缩和解压缩,但看到Windows 7的板载荏苒实用程序是在命令行中无法访问......)

+0

只是必需的文件夹,还是需要文件夹中缓存数据最后一个状态的快照? – Zeke

+4

我不明白这个问题。如果你可以让git将该文件夹看作一个二进制对象,那么这个二进制对象不会像文件夹树更改那么频繁? – kubi

+0

完全像kubi说的那样,在版本控制下个别文件有什么问题? – Shahbaz

回答

0

拨打的.gitignore文件仅包含行的文件夹中:

!.gitignore 

这告诉GIT中忽略所有的文件夹中除的.gitignore文件本身的文件。

这样,它会创建文件夹,但不会尝试管理您的缓存资源。

1

我会猜测你不想提交的文件夹应该存在,但在结帐时应该是空的。

如果你正在使用git,你必须使用.gitignore文件,并指定要忽略此文件夹中的每个文件,这样它们将不会被提交。 这里是.gitignore内容:

* 
!.gitignore 

使用SVN,你必须使用propsetsvn:ignore忽略eveything你的文件夹中:

svn propset svn:ignore "*" path/to/your/folder 

如果我错了,其他的可能性是你想与挂钩。但除非你为这个答案添加评论,要求了解更多关于钩子的信息,我不应该详细讨论这些细节。


资源:

相关主题:

+0

这可能会奏效 - 我必须尝试。 Library文件夹的问题在于它跟踪场景对象和项目设置 - 这会使得它在场景中的更改必须由另一端的人员手动完成。但是,值得一试! –

0

请确保您有 “元” 下方选择 “编辑>编辑>版本控制”。这样,您就可以忽略Temp目录和Library目录,并完全避免版本他们:)

只是版本AssetsProjectSettings.gitignore

另外,你有没有尝试从Unity资源商店使用Git UniTEAM?这是一个编辑器扩展,可让您管理Git版本化的项目。

相关问题