git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git for design

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 3, 2015, 20:48 UTC
Message-ID
<xmqqvbihajuh.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CAAcjnBVBeuYL1kuCG1yF5W1KUNik3hO8e2R0g0DdXDS6u+eOyQ@mail.gmail.com>
Ernesto Alonso Montaño Ramírez  <ernestoalonso.mr@gmail.com> writes:
> I've a question about Git, can I use this application for design
> (architecture, no programming)? for example, controlling the versions
> of designs on AUTOCAD, PHOTOSHOP, ILLUSTRATOR, etc; management of
> documents...
Yes you can use this application.

But it depends on your definition of "use" how "useful" the end result would be. The features programmers find helpful by placing their end products (i.e. the source code and text files in general) under control in Git are:

 1. You can go back to any arbitrary version.
 2. You can inspect what the textual differences between two
    arbitrary versions A and B (but most often, two adjacent
    versions) are.  This is called "diff".
 3. You can take the "textual differences" from 2. and replay the
    change between A and C on top of another version C, which lets
    you pretend as if you did the same work you did going from A to
    B but starting at version C.  This is "apply", "merge",
    "cherry-pick", and "rebase".

Using Git (or any version control system) on non-text files, you would still get the same benefit 1., obviously.

If the assets you feed Git are not something intelligible as "text" (and I am guessing AUTOCAD, PHOTOSHOP and ILLUSTRATOR files are not), you would not gain 2. or 3. immediately.

You however can still gain benefit 2., if you have a way to "compare" two versions of these files in a non-textual way. For example, I do not know AUTOCAD at all, but if the program "autocad" has a mode where it lets you feed two AUTOCAD files and point out how the two are different visually (let's assume there is such a program "autocad-compare" that takes two filename parameters to compare), Git has a way for you to plug into its machinery so that "git diff v1.0 v2.0 -- an-autocad-file" will write out the file at version 1 and version 2 into two temproary files and call out to "autocad-compare tmp1 tmp2" to have them compared.

For 3., too, Git has a mechanism to plug in a "merge-driver" of your own, e.g. if you have a version of an AUTOCAD file A that was modified to B by you and modified to C by your colleague and an AUTOCAD program "autocad-merge A B C" is a way to merge the work you two did starting from the same A to produce B and C into a single unified version, then "git merge" can be told to use such an external program as a plug-in to perform the file-level merge.

Previous: Ernesto Alonso Montaño Ramírez
Message 2 of 2 in “Git for design”
  1. Ernesto Alonso Montaño RamírezMar 3, 2015
  2. Junio C HamanoMar 3, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.