照片使用版本控制软件吗?


34

我是一名精通软件的开发人员,并且花很多时间在开发工具上。...更有用的开发工具类型之一是版本控制,对于初学者来说,它的工作方式如下:

  • 建立档案
  • 开始处理文件
  • 签入文件(创建文件的版本1)
  • 打开文件并再次编辑
  • 再次签入(版本2)
  • 意识到您从版本1中删除了重要的内容,回到过去,得到您删除的内容...
  • ...
  • 利润...

无论如何,我想知道照片中是否使用了类似的东西?本质上,我在考虑以下方面:

  • 导入照片(V1)。
  • 开始为照片加标签(V2 ... XMP 侧车仅应在此处真正更改)。
  • 开始添加星星,更多标签(V3)
  • 开始调整某些设置(V4 +)

通过以上流程,您应该能够跟踪更多的更改...并提供某种备份策略...

Answers:


32

摄影工作流应用程序(例如Adobe Lightroom和Apple的Aperture)将此类历史记录作为其功能的一部分内置。

当您在其中编辑RAW文件时,将不会对原始图像进行任何更改。而是将它们分别保存为“指令”。因此,您可以查看所有所做更改的历史记录,并且单击鼠标即可无损地返回到先前的任何时间点。

如果您只是使用Photoshop,则不会发生这种情况,您必须在每次处理照片之前手动保存不同版本的照片。

(我猜测没有理由不能为照片使用SVN存储库?即二进制文件?)


1
Lightroom保留了编辑会话的历史记录,但是如果您以后关闭Lightroom并从目录中重新打开图像,该历史记录是否仍然存在?我知道您始终拥有原始RAW文件,但是您可以在任何时候任意获取原始和最新版本之间的某个版本吗?
MikeW

2
是! 仅当您从目录中删除该图像并再次重新添加它时,该图像才会被删除。然后,您将从头开始。但是否则,历史将得以保留。
Mike

Digikam提供了与指令相同的功能。
Unapiedra'2

4
除了历史记录日志之外,Lightroom还使您可以创建“快照”,该快照可以为当前开发设置分配标签并轻松返回。有点像SVN中的标记。lightroomkillertips.com/2009/whats-a-lightroom-snapshot可以将某些工具(例如Jeffrey Friedl的插件)配置为在导出到Flickr之类的服务时自动创建快照。regex.info/blog/lightroom-goodies [我与fzwo同时写了这封信……对他的评论造成的任何冗余深表歉意。]
锥杀手2012年

2
如果您需要完整的版本控制功能,则可以像其他任何文件一样对sidecar文件进行源代码控制(内部是标记文本)。这样一来,您就不受历史的限制,但可以根据需要创建具有完全不同类型效果的“分支”。该软件应该允许您将新的sidecar文件应用于任何给定的RAW图片,至少是我的。
rumtscho'2

8

虚拟变化

我使用Lightroom v3,并且此产品具有非破坏性的工作流程。这使我可以虚拟地更改我的图像。

版本控制

然后,我使用SVN来维持对Lightroom目录(仅是一个简单的SQLite DB)的控制,这实际上使我可以对虚拟更改进行版本控制。

冗余

我有RAID 6设置,该设置可容纳用于冗余的介质,以及一个USB驱动器作为循环备份系统的周期。


虽然这可能不适用于每个人,但它对我有用。另外,它允许我使用多台计算机并具有相同的LR目录(使用svn commit / update周期)。

从博客文章摘录在这里

我在几台装有基于RAID 6的服务器的计算机上都安装了Lightroom,并且一直在努力如何同步所有内容以简化机器之间的生活。

经过一些决定后,我现在将照片移至\ server \ share,并通过subversion跟踪目录!这使得机器之间的一切变得如此容易。

我所做的就是创建一个存储Lightroom目录的存储库。我添加了一个例外,即不包含预览文件,因为Subversion对其存在一些问题。

现在,我的步骤如下:

Update subversion
Run Lightroom
Import pictures
Move images between local drive import and the media file share
Make any required changes
Exit lightroom
Commit catalog
That's it!

凉。那么,您的SVN服务器仅保存目录,而文件服务器保存真实图像...,目录指向服务器上的文件吗?正确?可以尝试一下。
TiernanO 2012年

@TiernanO-正确。这就是我设置基础架构/工作流的方式
Wayne'Feb

这很酷。目前,现在将大约200Gb的照片导入到一个Lightroom目录中,并且将开始采用这种想法……希望它能够完成我需要做的事情!谢谢你的提示!
TiernanO'2

@Tierno-你应该同意。我相信遇到的任何限制都将围绕SQLite约束,作为开发人员,您一定可以研究。(仅供参考:Firefox的SQLite Manager非常适合查看此目录)
Wayne 2012年

@TiernanO-想知道这是否确实像您对我所做的那样对您有用吗
Wayne

4

我认为您可能希望将git-annex(用于管理照片和备份)与bup遥控器(用于版本控制)一起使用。我目前正在亲自调查。

git-annex通过将符号链接提交到文件来使用git跟踪文件。文件本身不会添加到存储库中。将照片“固定”后,如果克隆存储库(例如,在外部硬盘驱动器上),则可以要求克隆检索与硬盘驱动器上与存储库关联的文件(或其中的一部分)。git-annex跟踪哪个存储库具有每个文件的副本。这样,您可以在两个小型硬盘驱动器上分割备份,并确保没有遗忘照片。

假设您正在旅行。您已拍摄了复制到笔记本电脑上的照片。您可以克隆在家中ssh服务器上的git存储库,与之同步,将本地照片添加到git-annex到收藏夹中,然后将所做的更改推回到服务器上。然后,您自己推送文件。

git-annex会跟踪您收藏中的更改,但只会保留您照片的最新版本。对于文件版本控制,您可以将特殊的bup远程添加到git-annex存储库。我尚未研究它,因为我不确定我是否需要它,但是它应该可以满足您的要求。看到这个这个


编辑了我的答案。
baranuphe 2012年

同样,git-annex背后的开发人员目前正在举行kickstarter,以使技术倾向较弱的人更轻松。
baranuphe

2

我使用Lightroom进行图像编辑并保留版本历史记录。如果您要使用Photoshop,版本控制几乎是内置的:Adobe Drive和Version Cue。我认为Version Cue只是Creative Suite FYI的一部分。


2

Pixel Novel将插入Photo Shop并与您已经拥有的任何Subversion服务器配合使用,或者我认为您可以从其中购买存储库。

http://pixelnovel.com/

他们称其为“设计师的版本控制”


2

我使用Photoshop和Adobe Camera Raw而不是Lightroom,所以我对XMP文件使用了版本控制,这些文件分散了我的原始转换设置以跟踪更改。由于XMP文件只是XML,因此效果很好。先进行所有颜色校正,然后检入XMP文件,然后再将其裁剪为非标准的宽高比,这非常方便。这样,如果我需要以原始的3x2纵横比打印图像,则可以快速恢复为未裁剪的版本。

我知道Photoshop有自己的内置修订跟踪系统,但是这是使用我更了解的工具的情况。还有其他有用的编码工具,例如构建脚本/构建自动化。例如,我可以发出单个命令来使用针对打印的未裁剪XMP文件“构建”一组照片,这些文件将转换过程重命名并输出一组照片。如果您已经知道如何为软件做这件事,那真的很容易!

您可以将二进制文件添加到存储库中,但这需要大量存储,并且在比较不同版本时不会获得任何有用的差异信息。

这用于常规的原始转换,设置曝光度,色彩平衡等。对于更多涉及Photoshop的工作,我会通过无损调整图层和智能滤镜尽一切努力,但是我还没有做完一切因此,我暂时只保存.PSD文件的多个版本。


您也可以将lightroom设置为也使用XMPP文件...我以前使用过它,并且效果很好。
TiernanO'2

2

我也是软件开发人员,并尝试将Git和SVN用于大型RAW和XMP,只是为了能够在可移动驱动器和XMP版本之间同步我的图片。随着我添加更多文件,它变得越来越慢,而且速度越来越慢。我还将Lightroom用于历史记录,因此我回到了rsync。

现在,我也正在研究git-annex,到目前为止,它是不错且快速的。它还具有对每个RAW文件进行校验和的附加好处,因此您可以查看导入后是否有不良的HD干扰了图像。这对我来说是一个巨大的好处,因为我可以测试我的备份,以确保它们没有因副本/位腐而降级。我计划仅对XMP进行版本控制,并附加RAW。git-annex可以知道事情在哪里,而且我可以确定服务器上的所有内容都可以备份,并且可以在笔记本电脑上保存工作副本。

您也可以使用Amazon Glacier遥控器,因此我已经读过,但尚未尝试过。


1

看看我们的Daminion。这是照片管理软件(多用户友好),支持对已存档的照片和其他媒体格式进行版本控制。

Daminion版本控制

单用户Daminion版本是免费的,因此您可以立即下载并检查它


14
嗨,穆拉特!您已经存在了一段时间,您在Daminion上的帖子通常是主题性的且有帮助的,并且包括适当的从属关系免责声明。但是我不禁注意到,您的所有答案都建议尝试Daminion,并且,从FAQ中可以得出以下结论:“如果您的帖子中有很大一部分都提及您的产品或网站,那么您来这里的原因可能是错误的。” 对于与您的产品无关的问题,请考虑写一些答案。
mattdm 2012年

谢谢您的解释,马特。没问题。但是正如您正确注意到的那样,我的所有帖子都为问题提供了有用的答案。
Murat-Daminion Software,2012年

0

我不会,而且可能永远不会使用Git或SVN这样的源代码版本控制,因为涉及的文件很大。每个原始文件为20-30MB,更改通常会触及整个图像中的每个像素,从而降低了“跟踪更改”的有效性。

对于单张图像,如果我只是要保存原始图像的副本和最终图像的副本,则可以轻松地看到200MB的SVN存储库,而不是60MB的存储库。


3
如果您使用的是RAW文件,则不应更改实际的RAW图像,而只需更改XMP侧面汽车即可。如果要更改RAW图像,则GIT仅保存更改,而不是完整文件... GIT可能不是最佳选择(也是SVN),因为它们很大,但是有一些选项可以很好地工作大文件...
TiernanO 2012年

0

这是Apple Aperture的插件。Aperture的优点在于,它具有摄影师希望的Photoshop功能的95%(打哈欠,您无法使用它来制作火焰状文本),并且编辑以非常轻巧的方式进行版本控制。

这适用于JPEG和其他图像格式以及RAW格式。

您甚至可以与外部编辑器(例如Photoshop)进行“往返”,但是这些编辑器必须保存图像的整个副本,而不是保存应用于主图像的轻型滤镜。


0

这里对此进行了很好的讨论:https : //www.impulseadventure.com/photo/flow-catalog-versions.html

代码存储库和映像DAM之间存在显着差异。

  1. 图像使用往往是多分支树。尽管您在代码中确实有分支,但通常的目标是最小化它们。在图像使用中,您可能会遇到这样的情况

---裁剪并削尖。

--- ---降低了Facebook的分辨率

--- ---画廊的大缩略图

--- ---画廊的中等缩略图

--- ---画廊的小缩略图。

--- ---带水印的大型画库

----带水印的黑白版本

----黑白版本

--- ---客户的特殊作物。

--- ---针对不同客户调整的色偏

(我做了一个网页,每个图像都有18种不同的分辨率。)

  1. 代码之间的版本差异往往很小。在典型的签入中,只有百分之几的代码更改。在图像中,大多数像素会发生一些变化,并且仅存储更改所节省的空间很小。

  2. 在代码存储库中,您需要关注位级别的更改。这里有一行代码,那里有一个常量的值。在图像处理中,您执行的步骤的历史记录更为重要。

  3. 图像工作往往比代码少协作。虽然图形艺术家可以拍摄现有图像,然后在其上分层放置图形作品,但是大多数图像在整个生命周期中都是由一个人管理的。(这在视频/电影中是不同的。)

  4. 在软件的基本水平是项目 一个单独的类文件不无其余项目太大意义。在图像处理中,图像是基本单位。您可以将一生都花在一个软件项目上(Microsoft Word ...)。在摄影中,您很少在图像上花费超过几分钟的时间。

  5. 在软件中,重要的任务是能够跟踪更改并将其还原到以前的版本。在图像处理中,重要的任务是能够在以后找到该图像及其派生词。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.