ソースコントロールを使用してグラフィックファイルを管理することは理にかなっていますか(例:PSDS&AIファイル)

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

質問

もちろん、Git、(Mercurial、SVNなど)などのソース制御ツールは、ソースコードの管理に最適な仕事をすることができます。しかし、Photoshop PSDやIllustrator AIファイルなどのファイルのコピーを保存するために使用すると、これらのツールは開発者に何らかの利点を提供しますか?これらの種類のファイルでこれらのツールを使用することは理にかなっていますか?これらすべてのファイルのファイルサイズの合計よりもリポジトリに保存することは少なくなりますか?これらのファイルのファイル形式はマシンのみが読み取り可能ですが、特にラスターグラフィックスではなくベクターを扱う場合、これらのファイルのごく一部が変更され、残りの多くは同じままであると予想されます。 。

洞察をありがとう。

役に立ちましたか?

解決 2

これは非常に意見のある問題ですが、少なくともGITについてはノーと言います。

  • Gitはストレージソリューションとして作成されていません。
  • 画像ファイルをマージする方法はありません。
  • したがって、ブランチは意味がありません。これらのブランチをマージする唯一の方法が正しいバージョンを選択することである場合、すぐにファイルを交換する方が良いでしょう。
  • GIT GUIツールはコンソールより劣っており、単純ではありません。あなたのアートチームに、コミットとプッシュの違いは何ですか?
  • Git Repoをチェックアウトすると、チェックアウトします 全歴史 すべてのファイルのうち、最初のコミットから始まります。バイナリファイルで十分に長く作業すると、サイズが大きくなります。
  • GitHubなどの多くのGitホスティングサイトには、個々のファイルサイズに制限があります。

Dropboxの方がずっといいと思います。

他のヒント

GIT自体は、あらゆる種類のデータを管理できます。
見る "大きなファイルを備えたgit"(サイズまたは数字のように「大きい」)。

Diff'ing Pictures/GraphicsはGitがネイティブにサポートする機能ではありませんが、Git Repo Hosting ServiceはWeb GUIを拡張してそのようなサポートを提供できます。

Githubが発表した(2014年6月)」EPSD表示と拡散「拡張する」 画像の表示と拡散「(2011年11月)

リポジトリ内のPSDアセットは画像のように扱われます。つまり、インラインで表示し、3つの画像ビューモードを使用して、コミットで変更されたものを確認できます。

更新マッハ2022:これはです もはやサポートされていません.
見る "非コードファイルを使用します「DIFFがサポートされているファイルの場合。

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

「いいえ」と答える人は非常に正当な理由がありますが、それは不可能ではありません。

GitHubを使用して管理しています オープンソースプロジェクト 何百ものイラストレーターファイルとPDF(およびいくつかのコードとテキストも構成されていますが、それは比較して小さなブリップです)。リポジトリは約8GBで発売されます。私がとても非常識なことをしている理由は、イラストレーターのファイルが製品の中核であり、単にそれに合わせて装飾的なアートワークではないからです。 ソース プロジェクトの - そして、私はそれがオープンソースのままであることを確認したかったからです。

いくつかの固着ポイントと、注意すべきことがありました。私は提案します:

  • Gitに精通していない限り、これを試してはいけません。紛争や分岐の問題を解決することは本当に厄介になる可能性があります。また、リポジトリを幸せに保つために、かなりの不可解なことをしなければならないかもしれません。 Gitの隅々を知っていることを誰も期待していません(正気な人ができるかどうかはわかりません)が、残りをグーグルで検索できることを十分に知っています。

  • コマンドラインでGitを使用することに慣れていることを確認してください。 GUIツールはあなたを複雑さから保護するかもしれませんが、カバーの下で何が起こっているのかを完全に理解することもできません。その理解ができたら、95%の間GUIを自由に使用できます。

  • 可能であれば分岐を避けてください。バイナリファイルはコードのようにマージされないため、ブランチをまとめると面倒になります。

  • リポジトリのサイズと複雑さを管理するのに役立つGitの特定の機能について学びます:部分的なチェックアウト、タグ、 git gc, 、など

  • 事前に計画するために時間をかけてください。プロジェクトを2つ以上のgitリポジトリに分離すること、または別のサービスと組み合わせることで利益を得ることがあるかもしれません。

  • ホスティングサービスを使用している場合は、リポジトリにどのような制限を課しているかを確認してください。たとえば、Githubは100MBを超えるファイルについて不満を言います。 バイナリに関する推奨ガイドラインは次のとおりです.

いいえ、バージョン追跡にはGit、SVNなどを使用することはお勧めしません。 Adobeファイルのかろうじて変更されたバージョンの間で驚くほどの量の行が変更されます - DIFF比較を行うことで自分自身をご覧ください。これは、イラストレーターでネイティブファイル圧縮のようなオプションがオンになっている場合に特に当てはまります。

レイヤー、リンク、およびファイルのマイルストーンバージョンを保存することにより、SVNがネイティブAdobeファイルに提供できるよりもはるかに効率的なストレージを使用することができます。

私が考えることができる1つの例外は、Pure-Vector SVGSなどのXMLベースのファイルです。

単純なUIを使用して単純なバージョン管理が必要な場合、Subversionはこれらのファイルを管理するために非常にうまく機能します。シェル統合により、優れたGUIサポート(smartsvnまたはtortoisevnなど)があります。また、必要なファイルのみを選択的にチェックアウトする方がはるかに簡単です。

ファイルのサイズが大きな問題であると指摘しているすべての人にとって、 git-lfs その問題を解決するようになります。

インストールして使用するのは簡単です。 github, gitlab また Bitbucket 問題なくサポートしてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top