Ich bin im Herzen und von Beruf Softwareentwickler und verbringe viel Zeit mit Entwicklungswerkzeugen ... Einer der nützlicheren Typen von Entwicklungswerkzeugen ist die Versionskontrolle , und für Uneingeweihte funktioniert es ungefähr so:
Wie auch immer, ich frage mich, ob etwas Ähnliches mit Fotos verwendet wird? Im Wesentlichen dachte ich an etwas in der Art von:
Mit dem obigen Ablauf sollten Sie in der Lage sein, viel mehr Änderungen zu verfolgen ... und Ihnen eine Art Sicherungsstrategie zu geben ...
Fotografische Workflow-Anwendungen wie Adobe Lightroom und Apples Aperture bieten diese Art von Historie als integrierten Teil ihrer Funktionalität.
Wenn Sie eine RAW-Datei in diesen bearbeiten, werden niemals Änderungen am Originalbild vorgenommen. Stattdessen werden sie separat als „Anweisungen“ gespeichert. So können Sie eine Historie aller vorgenommenen Änderungen einsehen und mit einem Mausklick zerstörungsfrei zu jedem vorherigen Zeitpunkt zurückkehren.
Wenn Sie nur Photoshop verwenden, passiert dies nicht, und Sie müssten jedes Mal verschiedene Versionen Ihres Fotos manuell speichern, bevor Sie daran arbeiten.
(Ich vermute, es gibt keinen Grund, warum Sie kein SVN-Repository für Fotos verwenden können?? dh Binärdateien?)
Virtuelle Veränderungen
Ich verwende Lightroom v3 und dieses Produkt hat einen zerstörungsfreien Arbeitsablauf. Dadurch kann ich virtuell Änderungen an meinen Bildern vornehmen.
Versionskontrolle
Ich verwende dann SVN, um die Kontrolle über den Lightroom-Katalog (nur eine einfache SQLite-Datenbank) zu behalten, und dies gibt mir im Wesentlichen die Versionskontrolle über die virtuellen Änderungen.
Redundanz
Ich habe ein RAID 6-Setup, das die Medien für Redundanz und einen Zyklus von USB-Laufwerken als Rotationssicherungssystem enthält.
Auch wenn dies nicht für jeden funktioniert, funktioniert es für mich. Außerdem erlaubt es mir, mehrere Maschinen zu verwenden und denselben LR-Katalog zu haben (unter Verwendung des SVN-Commit/Update-Zyklus).
Auszug aus dem Blogbeitrag hier :
Ich habe Lightroom auf ein paar Computern mit einem RAID 6-basierten Server und habe Probleme damit, alles zu synchronisieren, um mir das Leben zwischen den Computern zu erleichtern.
Nach einigen Entscheidungen habe ich nun meine Fotos auf den \server\share verschoben und der Katalog wird per Subversion getrackt! Das macht alles so viel einfacher zwischen den Maschinen.
Ich habe ein Repository erstellt, das den Lightroom-Katalog enthält. Ich habe eine Ausnahme hinzugefügt, um die Vorschaudateien nicht einzuschließen, da Subversion einige Probleme mit ihnen hat.
Nun sind meine Schritte wie folgt:
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!
Ich denke, Sie möchten vielleicht git-annex (um Fotos und Backups zu verwalten) zusammen mit einer Bup-Fernbedienung (für die Versionierung) verwenden. Ich probier es gerade selbst aus.
git-annex verfolgt Ihre Dateien mit git, indem es symbolische Links zu Ihren Dateien festschreibt. Die Dateien selbst werden nicht zum Repository hinzugefügt. Sobald Ihre Fotos "angehängt" sind, können Sie, wenn Sie Ihr Repository klonen (z. B. auf einer externen Festplatte), den Klon bitten, die Dateien (oder einen Teil davon) abzurufen, die mit dem Repository auf der Festplatte verknüpft sind. git-annex verfolgt, welches Repository eine Kopie jeder Datei enthält. So können Sie ein Backup auf zwei kleine Festplatten aufteilen und sicher sein, dass kein Foto vergessen wurde.
Angenommen, Sie sind auf einer Reise. Sie haben Fotos gemacht, die auf Ihren Laptop kopiert werden. Sie können das Git-Repository klonen, das sich auf Ihrem SSH-Server zu Hause befindet, damit synchronisieren, Ihre lokalen Fotos zu Git-Annex zu Ihrer Sammlung hinzufügen und die Änderungen zurück auf Ihren Server übertragen. Dann pushen Sie die Dateien selbst.
git-annex verfolgt die Änderungen in Ihrer Sammlung, bewahrt aber nur die letzte Version Ihrer Fotos auf. Für die Dateiversionierung können Sie Ihrem Git-Annex-Repository eine spezielle Bup -Fernbedienung hinzufügen. Ich habe es mir noch nicht angesehen, weil ich nicht sicher bin, ob ich es brauche, aber es sollte tun, was Sie wollen. Siehe dies oder das .
Ich benutze Lightroom, um Bilder zu bearbeiten und einen Versionsverlauf zu führen. Wenn Sie Photoshop verwenden möchten, ist die Versionskontrolle fast integriert: Adobe Drive und Version Cue. Ich denke, Version Cue ist nur ein Teil der Creative Suite, FYI.
Pixel Novel wird in Photo Shop eingesteckt und funktioniert mit allen Subversion-Servern, die Sie bereits haben, oder ich denke, Sie können ein Repository von ihnen kaufen.
Sie nennen es "Versionskontrolle für Designer"
Ich verwende Photoshop und Adobe Camera Raw anstelle von Lightroom, daher verwende ich die Versionskontrolle für die XMP-Dateien, die meine Raw-Konvertierungseinstellungen speichern, um Änderungen zu verfolgen. Das funktioniert wirklich gut, da die XMP-Dateien nur XML sind. Es ist praktisch, zuerst alle Farbkorrekturen vorzunehmen, die XMP-Dateien einzuchecken und dann auf nicht standardmäßige Seitenverhältnisse zuzuschneiden. Auf diese Weise kann ich schnell zu einer unbeschnittenen Version zurückkehren, wenn ich Bilder im ursprünglichen 3x2-Seitenverhältnis drucken muss.
Ich weiß, dass Photoshop über ein eigenes integriertes Revisionsverfolgungssystem verfügt, aber es geht darum, Tools zu verwenden, die ich besser kenne. Es gibt andere Codierungstools, die nützlich sind, z. B. Build-Skripte/Build-Automatisierung. Ich kann zum Beispiel einen einzigen Befehl zum „Erstellen“ eines Satzes von Fotos ausgeben, indem ich nicht zugeschnittene XMP-Dateien verwende, die für den Druck vorgesehen sind, der den Prozess umbenennt und alle Bilder eines Satzes ausgibt. Es ist wirklich einfach, wenn Sie bereits wissen, wie es für Software geht!
Sie können einem Repository Binärdateien hinzufügen, aber dies erfordert viel Speicherplatz und Sie erhalten keine nützlichen Diff-Informationen, wenn Sie verschiedene Versionen vergleichen.
Dies ist für normale Rohkonvertierungen, Belichtungseinstellungen, Farbbalance usw. Für aufwendigere Photoshop-Arbeiten mache ich so viel wie möglich zerstörungsfrei mit Anpassungsebenen und intelligenten Filtern, aber ich bin noch nicht an dem Punkt angelangt, an dem ich alles machen kann zerstörungsfrei, also speichere ich vorerst nur mehrere Versionen der .PSD-Datei.
Ich bin auch Softwareentwickler und habe versucht, Git und SVN für große RAWs und XMPs zu verwenden, nur um meine Bilder zwischen Wechseldatenträgern zu synchronisieren und die XMPs zu versionieren. Es war unerträglich langsam und wurde mit der Zeit immer langsamer, als ich mehr Dateien hinzufügte. Ich verwende Lightroom auch für den Verlauf, also ging ich zurück zu rsync.
Jetzt schaue ich mir auch Git-Annex an und bisher ist es nett und schnell. Es hat auch den zusätzlichen Vorteil, dass jede RAW-Datei einer Prüfsumme unterzogen wird, sodass Sie sehen können, ob eine schlechte HD Ihre Bilder seit dem Import durcheinander gebracht hat. Dies ist ein enormer Vorteil für mich, da ich meine Backups testen kann, um sicherzustellen, dass sie nicht durch Kopien/Bitfäule beeinträchtigt wurden. Ich plane, nur die XMPs zu versionieren und die RAWs anzuhängen. git-annex kann die Beinarbeit erledigen, um zu wissen, wo sich die Dinge befinden, und ich kann sicher sein, dass alles auf meinem Server gesichert wird, und ich kann eine funktionierende Kopie auf meinem Laptop haben, wenn ich möchte.
Sie können auch eine Amazon Glacier-Fernbedienung haben, so habe ich gelesen, aber ich habe das noch nicht ausprobiert.
Schauen Sie sich unser Daminion an. Dies ist eine Fotoverwaltungssoftware (mehrbenutzerfreundlich), die die Versionskontrolle für Ihre archivierten Fotos und andere Medienformate unterstützt.
Die Daminion-Einzelbenutzerversion ist kostenlos, Sie können sie also sofort herunterladen und testen .
Aufgrund der schieren Größe der beteiligten Dateien verwende ich keine Quellversionskontrolle wie Git oder SVN und werde dies wahrscheinlich auch nie tun. Jede Rohdatei ist 20-30 MB groß und Änderungen berühren oft jedes Pixel im gesamten Bild, was die Effektivität des bloßen „Verfolgens der Änderungen“ verringert.
Für ein einzelnes Bild könnte ich leicht ein 200 MB großes SVN-Repository anstelle von vielleicht 60 MB sehen, wenn ich nur eine Kopie des Originals und eine Kopie des endgültigen Bildes speichern würde.
Hier ist ein Stecker für Apple Aperture. Das Schöne an Aperture ist, dass es etwa 95 % der Funktionalität von Photoshop hat, die sich Fotografen wünschen (man kann damit keinen flammenden Text erstellen, gähn), und dass die Bearbeitung auf sehr einfache Weise versioniert wird.
Dies funktioniert mit JPEG und anderen Bildformaten sowie dem RAW-Format.
Sie können sogar einen "Roundtrip" mit externen Editoren wie Photoshop durchführen, aber diese speichern notwendigerweise eine vollständige Kopie des Bildes und nicht einen einfachen Filter, der auf ein Masterbild angewendet wird.
Hier gibt es eine gute Diskussion darüber: https://www.impulseadventure.com/photo/flow-catalog-versions.html
Es gibt signifikante Unterschiede zwischen Code-Repository und Image-DAM.
Meister
--- Abgeschnitten und geschärft.
--- --- Reduzierte Auflösung für Facebook
--- --- Großes Vorschaubild für Galerie
--- --- Mittleres Thumbnail für Galerie
--- --- Kleines Vorschaubild für die Galerie.
--- --- Große Version mit Wasserzeichen für Galerie
--- --- --- Schwarz-Weiß-Version mit Wasserzeichen
--- --- --- Schwarz-Weiß-Version
--- --- Sonderanfertigung für Kunden.
--- --- Angepasster Farbstich für verschiedene Clients
(Ich habe eine Webseite erstellt, auf der jedes Bild 18 verschiedene Auflösungen hatte.)
Code weist in der Regel kleine Unterschiede zwischen den Versionen auf. Bei einem typischen Checkin ändert sich nur ein paar Prozent des Codes. In einem Bild ändern sich die meisten Pixel etwas, und die Platzersparnis durch das Speichern nur von Änderungen ist gering.
In einem Code-Repository beschäftigen Sie sich mit den Bit-Level-Änderungen. Hier eine Codezeile, dort der Wert einer Konstante. Bei der Bildbearbeitung ist eine Historie der von Ihnen durchgeführten Schritte wichtiger.
Bildarbeit ist in der Regel viel weniger kooperativ als Code. Während Grafiker ein vorhandenes Bild nehmen und grafische Kunstwerke darüber legen können, werden die meisten Bilder während ihrer gesamten Lebensdauer von einer Person verwaltet. (Das ist bei Video/Film anders.)
Bei Software ist die grundlegende Ebene das Projekt . Eine einzelne Klassendatei bedeutet nicht viel ohne den Rest des Projekts. In der Bildverarbeitung ist das Bild die grundlegende Einheit. Man kann sein ganzes Leben an einem einzigen Softwareprojekt (Microsoft Word...) arbeiten. In der Fotografie verbringt man selten mehr als ein paar Minuten mit einem Bild.
Bei Software besteht die wichtige Aufgabe darin, Änderungen nachverfolgen und zu einer früheren Version zurückkehren zu können. Bei der Bildverarbeitung besteht die wichtige Aufgabe darin, dieses Bild und seine Ableitungen zu einem späteren Zeitpunkt wiederzufinden.
MikeW
Mike
Unapiedra
MikeW
TiernanO
Mike
fzwo
Kegelleger
Rumtscho
Kegelleger
TiernanO
Kendall Helmstetter Gelner