Est-il logique d'utiliser le contrôle source pour gérer les fichiers graphiques (par exemple PSDS et fichiers AI)

StackOverflow https://stackoverflow.com/questions/19835233

Question

Bien sûr, les outils de contrôle des sources comme GIT, (Mercurial, SVN, etc ...) peuvent faire un excellent travail dans la gestion du code source. Mais je me demande, ces outils fournissent-ils au développeur tout avantage lorsqu'ils sont utilisés pour stocker des copies de fichiers tels que Photoshop PSDS et Illustrator AI Files? Est-il logique d'utiliser ces outils avec ce type de fichiers? Est-ce que je stockerais moins dans le référentiel que la somme des tailles de fichiers de tous ces fichiers? Même si le format de fichier de ces fichiers est uniquement lisible par la machine, je m'attendrais à ce que pour de telles applications, en particulier lorsqu'elle traite avec un vecteur plutôt que des graphiques raster, une petite partie de ces fichiers changerait, et une grande partie du reste resterait la même .

Merci pour votre idée.

Était-ce utile?

La solution 2

Bien que ce soit un problème très avisé, je dirais non - du moins pour Git.

  • Git n'a pas été créé comme une solution de stockage.
  • Il n'y a aucun moyen de fusionner les fichiers d'image.
  • Par conséquent, les succursales n'ont pas de sens - si la seule façon de fusionner ces branches ensemble est de choisir la version correcte, vous êtes mieux de remplacer le fichier immédiatement.
  • Les outils Git GUI sont inférieurs à la console et ne sont pas simples. Voulez-vous enseigner à votre équipe artistique quelle est la différence entre le validation et la poussée?
  • Lorsque vous vérifiez Git Repo, vous consultez le Histoire entière de tous les fichiers, à partir de la validation initiale. Si vous travaillez sur des fichiers binaires assez longtemps, la taille deviendra énorme.
  • De nombreux sites d'hébergement GIT, tels que GitHub, ont des limites aux tailles de fichiers individuelles.

Je pense que vous êtes beaucoup mieux avec Dropbox.

Autres conseils

Git lui-même peut gérer tout type de données, à condition qu'ils ne soient pas trop grands ou nombreux.
Voir "git avec de gros fichiers"(" grand "comme en taille ou en nombre).

Diff'ing Pictures / Graphics n'est pas une fonctionnalité prise en charge par Git Native, mais un service d'hébergement Git Repo peut étendre sa GUI Web pour offrir une telle prise en charge.

Github vient d'annoncer (juin 2014) "visualisation et difficulté EPSD", qui étend leur" visualisation et difficulté d'image"(Nov. 2011)

Tous les actifs PSD de vos référentiels seront traités comme des images, ce qui signifie que vous pouvez les voir en ligne et utiliser nos trois modes d'image pour voir ce qui a changé dans un engagement.

Mettre à jour Mach 2022: c'est N'est plus pris en charge.
Voir "Travailler avec des fichiers non code"Pour les fichiers pour lesquels Diff est pris en charge.

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

Ceux qui répondent "non" ont de très bonnes raisons, mais ce n'est pas impossible.

J'utilise avec succès GitHub pour gérer Un projet open source Composé de centaines de fichiers illustrateurs et de PDF (et aussi du code et du texte, mais c'est un petit blip en comparaison). Le repo sort à environ 8 Go. La raison pour laquelle je fais quelque chose d'aussi fou est que les fichiers illustrateur sont au cœur du produit, pas seulement des illustrations décoratives pour l'accompagner - ce sont les la source du projet - et parce que je voulais m'assurer qu'il resterait open source.

Il y a eu des points de collision et des choses à connaître. Je voudrais suggerer:

  • N'essayez pas à moins que vous ne connaissiez assez Git. La résolution des conflits et des problèmes de branchement peut être vraiment épineuse, et vous devrez peut-être faire des trucs assez arcaniques pour garder le repo heureux. Personne ne s'attend à ce que vous connaissiez tous les coins de Git (je ne suis pas sûr qu'une personne saine d'esprit le pourrait), mais en sachez assez pour que vous puissiez Google le reste.

  • Assurez-vous que vous êtes à l'aise d'utiliser Git sur la ligne de commande. Les outils GUI peuvent vous protéger de la complexité, mais ils vous empêchent également de comprendre pleinement ce qui se passe sous les couvertures. Une fois que vous avez cette compréhension, vous êtes libre d'utiliser une GUI pendant 95% du temps.

  • Évitez de se ramifier si possible. Les fichiers binaires ne fusionnent pas la façon dont le code le fait, donc le rassemblement des succursales peut devenir désordonné et laborieux.

  • Découvrez des fonctionnalités spécifiques de GIT qui peuvent vous aider à gérer la taille et la complexité du référentiel: caisse partielle, balises, git gc, etc

  • Prenez le temps de planifier à l'avance. Il se peut que vous bénéficiez de la séparation du projet en deux ou plusieurs repos Git, ou de le combiner avec un autre service.

  • Si vous utilisez un service d'hébergement, assurez-vous de savoir quelles limites ils imposent au dépôt. Par exemple, GitHub se plaindra de fichiers sur 100 Mo. Voici leurs directives recommandées pour les binaires.

Non, je ne recommanderais pas d'utiliser GIT, SVN, etc. pour le suivi des versions. Une quantité surprenante de lignes changera entre les versions à peine modifiées des fichiers Adobe - voir par vous-même en faisant une comparaison diff. Cela est particulièrement vrai lorsque des options comme la compression de fichiers natives sont activées dans Illustrator.

En utilisant judicieusement des couches, des liens et de l'enregistrement des versions de jalons des fichiers, vous aurez une utilisation beaucoup plus efficace du stockage que les SVN ne pourraient jamais vous donner pour les fichiers Adobe natifs.

La seule exception à laquelle je peux penser est pour les fichiers basés sur XML, comme les SVG à vecteur pur.

Si vous avez juste besoin d'une gestion de version simple avec une interface intermédiaire simple, Subversion fonctionne assez bien pour gérer ces fichiers. Il a une bonne prise en charge de l'interface graphique (par exemple, SmartSVN ou TortoiseSVN) avec l'intégration de la coquille. Il est également beaucoup plus facile de vérifier sélectivement uniquement les fichiers dont vous avez besoin.

Pour vous tous, pointant que la taille des fichiers est un gros problème, Git-lfs vient de résoudre ce problème.

Il est facile à installer et à utiliser, et des plates-formes populaires telles que Github, Gitlab ou Bitbucket Soutenez-le sans aucun problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top