版本多个不同文件的最佳方式

时间:2011-09-05 13:49:05

标签: git version-control mercurial

我正在考虑为我们的项目文件夹(视觉效果设施)设置版本控制系统。我们处理镜头,每个应该说有一个我想要版本的文件。这就是事情。如果我每个镜头(文件夹)有一个存储库那么它是不是很糟糕?如果我有一个存储库并将所有这些文件移动到一个文件夹中并且整个文件夹的版本,则很难获得该文件的那个版本。有什么建议吗?或者git / mercurial不是最好的方法,最好是在版本子文件夹等中复制。

目录结构将是这样的

-projects
--project1
---shot1
----compositing
-----shot1.comp
---shot2
----compositing 
-----shot2.comp

我需要为每个.comp文件进行某种形式的版本控制。

3 个答案:

答案 0 :(得分:1)

如果您只需要本地版本,则可能需要查看RCS。它为每个file,v创建file(通常,但不一定,在名为RCS的文件夹中),其中包含提交消息和差异。

答案 1 :(得分:1)

您可以在Git上使用标记名称在单个存储库中检索所需的特定版本。

在您的仓库中,输入

git checkout <tag name or your version no.> -- <filename>

git checkout version1 -- shot2.comp

文件shot2.comp将以版本1结帐。

您可以在单个仓库中执行不同的结帐,以检索所需的文件。

如果您认为这太笨拙而无法始终输入git checkout来检索文件版本。

你可以在不同的文件夹上制作多个回购。

包含所有版本1文件的folder1

文件夹1中的

git checkout version1
文件夹2中的

git checkout version2

所有文件的版本分别为1和版本2,分别位于文件夹1和2上。

希望这有帮助。

答案 2 :(得分:0)

A(Git或Mercurial)回购是一组连贯的文件(即分支或标记为全部)。

您通常不会仅为一个文件制作回购(如果您同时需要所有那些回购,那么该模型不会轻易扩展),但在您的情况下,< em>可能是一个选项。

但是,您还可以使用一个带有一个分支的仓库 您仍然可以克隆所有内容,但只能检出一个分支(并且只能查看一个文件)。