Frage

Natürlich können Quellangesteuerungswerkzeuge wie Git (Mercurial, SVN usw.) hervorragende Arbeit bei der Verwaltung von Quellcode leisten. Aber ich frage mich, dass diese Tools dem Entwickler einen Vorteil bieten, wenn sie Kopien von Dateien wie Photoshop -PSDs und Illustrator AI -Dateien speichern? Ist es sinnvoll, diese Tools mit solchen Dateien zu verwenden? Würde ich im Repository weniger speichern als die Summe der Dateigrößen aller dieser Dateien? Auch wenn das Dateiformat dieser Dateien nur maschinell lesbar ist, würde ich erwarten, dass sich für solche Anwendungen, insbesondere im Umgang mit Vektor anstelle von Rastergrafiken, ein kleiner Teil dieser Dateien ändern würde, und ein Großteil des Restes würde gleich bleiben .

Vielen Dank für Ihre Einsicht.

War es hilfreich?

Lösung 2

Obwohl dies ein sehr Meinung ist, würde ich nein sagen - zumindest für Git.

  • Git wurde nicht als Speicherlösung erstellt.
  • Es gibt keine Möglichkeit, Bilddateien zusammenzuführen.
  • Daher ist Zweige keinen Sinn - wenn die einzige Möglichkeit, diese Zweige zusammenzuführen, darin besteht, zu wählen, welche Version korrekt ist, ist es besser, die Datei sofort zu ersetzen.
  • GIT -GUI -Werkzeuge sind der Konsole unterlegen und nicht einfach. Möchten Sie Ihrem Kunstteam beibringen, was der Unterschied zwischen Commit und Push ist?
  • Wenn Sie Git Repo auschecken, schauen Sie das an ganze Geschichte von allen Dateien ab dem ersten Commit. Wenn Sie lange genug an binären Dateien arbeiten, wird die Größe enorm.
  • Viele Git -Hosting -Websites wie GitHub haben Grenzen für einzelne Dateigrößen.

Ich denke, dass Sie mit Dropbox viel besser dran sind.

Andere Tipps

Git selbst kann jegliche Art von Daten verwalten, sofern sie nicht zu groß oder zu zahlreich sind.
Sehen "Git mit großen Dateien"(" groß "wie in Größe oder Zahl).

Diff'ing Bilder/Grafiken sind keine Funktion, die von Git nativ unterstützt wird, aber ein Git -Repo -Hosting -Service kann seine Web -GUI erweitern, um eine solche Unterstützung zu bieten.

Github hat gerade (Juni 2014) angekündigt "EPSD -Anzeige und Differenz", was ihre" erweitert " Bildsicht und Verschiedenheit"(Nov. 2011)

Alle PSD -Vermögenswerte in Ihren Repositories werden genau wie Bilder behandelt, dh Sie können sie inline anzeigen und unsere drei Bildansichtsmodi verwenden, um zu sehen, was sich in einem Commit geändert hat.

Aktualisieren Sie Mach 2022: Das ist nicht länger unterstützt.
Sehen "Arbeiten mit Nicht-Code-Dateien"Für die Dateien, für die Diff unterstützt wird.

https://cloud.githubusercontent.com/assets/2546/3165594/55f2798a-eb56-11e3-92e7-b79ad791a697.gif

Diejenigen, die "Nein" antworten, haben sehr gute Gründe, aber es ist nicht unmöglich.

Ich verwende Github erfolgreich, um es zu verwalten Ein Open -Source -Projekt bestehend aus Hunderten von Illustrator -Dateien und PDFs (und auch Code und Text, aber das ist im Vergleich ein winziger Blip). Das Repo kommt bei etwa 8 GB heraus. Der Grund, warum ich etwas so Wahnsinniges mache, ist, dass die Illustrator -Dateien der Kern des Produkts sind, nicht nur dekorative Kunstwerke - sie sind die Quelle des Projekts - und weil ich sicherstellen wollte, dass es Open Source bleibt.

Es gab einige Stickpunkte und Dinge, die man sich bewusst war. Ich würde vorschlagen:

  • Versuchen Sie das nicht, es sei denn, Sie sind mit Git ziemlich vertraut. Das Lösen von Konflikten und Verzweigungsproblemen kann wirklich dornig werden, und Sie müssen möglicherweise ein paar hübsche arkane Sachen machen, um das Repo glücklich zu machen. Niemand erwartet, dass Sie jede Ecke von Git kennen (ich bin mir nicht sicher, ob es sich um eine vernünftige Person handelt), aber Sie wissen genug, dass Sie den Rest googeln können.

  • Stellen Sie sicher, dass Sie GIT in der Befehlszeile bequem verwenden. GUI -Tools schützen Sie möglicherweise vor Komplexität, verhindern Sie jedoch auch daran, vollständig zu verstehen, was unter den Decke vor sich geht. Sobald Sie dieses Verständnis haben, können Sie in 95% der Zeit eine GUI für eine GUI verwenden.

  • Vermeiden Sie es, wenn möglich zu verzweigen. Binärdateien verschmelzen nicht mit dem Code, sodass das Zusammenbringen von Zweigen chaotisch und mühsam werden kann.

  • Erfahren Sie mehr über bestimmte Merkmale von Git, mit denen Sie die Größe und Komplexität des Repo verwalten können: Partial Checkouts, Tags, git gc, etc

  • Nehmen Sie sich Zeit, um sich im Voraus zu planen. Es kann sein, dass Sie davon profitieren würden, das Projekt in zwei oder mehr Git -Repos zu trennen oder es mit einem anderen Service zu kombinieren.

  • Wenn Sie einen Hosting -Dienst verwenden, stellen Sie sicher, dass Sie wissen, welche Grenzen sie dem Repo auferlegen. Zum Beispiel beschwert sich GitHub über Dateien über 100 MB. Hier sind ihre empfohlenen Richtlinien für Binärdateien.

Nein, ich würde nicht empfehlen, Git, SVN usw. für die Versionsverfolgung zu verwenden. Eine überraschende Menge an Zeilen ändert sich zwischen kaum veränderten Versionen von Adobe -Dateien - überzeugen Sie sich selbst, indem Sie einen Diff -Vergleich durchführen. Dies gilt insbesondere dann, wenn Optionen wie native Dateikomprimierung im Illustrator eingeschaltet werden.

Wenn Sie mit Bedacht, Links, Links und Meilensteinversionen von Dateien mit Bedacht verwendet werden, werden Sie für native Adobe -Dateien jemals eine effizientere Verwendung von Speicher verwenden als SVN.

Die einzige Ausnahme, die ich mir vorstellen kann, ist für XML-basierte Dateien wie reine SVGs.

Wenn Sie nur ein einfaches Versionsmanagement mit einer einfachen Benutzeroberfläche benötigen, eignet sich die Subversion für die Verwaltung dieser Dateien ziemlich gut. Es verfügt über eine gute GUI -Unterstützung (z. B. Smartsvn oder Tortoisesvn) mit Shell -Integration. Es ist auch viel einfacher, nur die von Ihnen benötigten Dateien selektiv zu überprüfen.

Für alle, die darauf hinweisen, dass die Größe der Dateien ein großes Problem ist, ist Git-LFS Kommt, um dieses Problem zu lösen.

Es ist einfach zu installieren und zu verwenden und beliebte Plattformen wie z. Github, Gitlab oder Bit Bucket Unterstützen Sie es ohne Probleme.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top