数字图像的版本控制以及生成它的文件

时间:2015-05-25 08:18:34

标签: image git blender

我主要是和Blender一起工作。我创建一个混合文件,并使用它来渲染和保存图像。然后我提炼一些,渲染另一个图像,希望保存Blender文件,然后重复。我尝试为图像和混合文件保留相同的版本和文件名,但我经常不同步。我需要做的是浏览所有图像版本并可靠地找到生成它的混合文件。

这似乎可以使用git等版本控制系统,在每次渲染后进行提交。

是否有可以在不同提交中查看图像的图像浏览器或可以显示图像的git查看器?

或者有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

虽然git保留了所有版本的信息,但它并不能很好地保留工作树中的所有版本。

其界面旨在显示修订版之间的差异。 问题是,与文本文件不同,没有关于" diff"两个图像之间的意思。您可以尝试为jpg文件设计textconv选项。但我想知道这是否有用。

如果您希望能够并排查看不同版本,则应该使用某种编号方案和脚本来帮助您。 假设您正在使用名为foo.blend的blender文件。这是你的工作副本。你应该写一个做两件事的脚本;

  • foo.blend复制到例如foo-027.blend,如果同一目录中的最后一个现有版本为foo-026.blend除非 foo.blendfoo-026.blend之间没有区别。
  • foo-027.blend渲染为例如foo-027.jpg在批渲染模式下使用blender。

每当您想要保存某个版本时,请调用此脚本。您也可能希望将以前的修订版设为只读。

Python是编写此脚本的好选择,因为blender支持Python脚本。您甚至可以从菜单或快捷方式中调用它。

答案 1 :(得分:0)

有足够的存储空间Git可以使用二进制文件。但Git不以原生形式存储文件;相反,它们被打包成不可读格式的“blob”。因此,您必须签出旧版本才能使用它们。

您可以拥有一个单独的目录来“检索”旧版本的文件。说,你的工作区目录中有一个repo。

cd path/to/my/workspace/directory
git --work-tree=/path/to/another/directory checkout <revision> <filenames separated by spaces>

或者来自另一个/目录:

cd path/to/another/directory
git --git-dir=/path/to/my/workspace/directory checkout <revision> 

现在您的工作区目录保持不变,而另一个/目录具有旧版本。你现在可以比较并做任何你想做的事。

当然,您可以在同一目录中查看旧版本:

git checkout <revision>
# and come back then:
git checkout master 

这个答案的灵感来自: git pull while not in a git directory
How do I reconnect my project to my existing GitHub repository