Basically we now have 2 developers for an iOS project, 2 developers for an Android project and 1 designer doing designs for both projects.

Right now, the way we exchange designs and images is through mail...so not very advanced or efficient. We're switching to Dropbox, but I feel like we could go a step further and somehow integrate the process into Git.

For the iOS project, we are using Git, and I'm thinking that it might be a good idea to introduce the designer as well to Git. The problem is that, being a designer, it might be a bit difficult for him to understand source version control.

As the 2 iOS devs, we'll probably be doing a lot of commits, branching, merging, but the designer will most likely only have to update images every now and then. We'd like to keep the setup as simple as possible (especially for the designer). We are using GitHub, so their OSX application might come in very handy for this.

Does anyone else have experience or best practices about how to set up the branching/merging and integrating a designer into a technical Git project? Articles, blog posts etc. are welcomed as well.

  • 1
    "Articles, blog posts etc..." - please note resource requests are not quite welcome at Programmers. As far as I understand, one would rather present an underlying problem instead (it looks like you did that already) - a problem that was intended to be solved with particular resource requested – gnat Feb 14 '13 at 18:13
  • The problem that a designer might not understand source control comes from the fact that he most probably does not need it. So it may save you and him a lot of trouble by not forcing him to use git. – Doc Brown Feb 15 '13 at 7:36

I wouldn't let the designer use git. It's plenty of complications for him that he doesn't need. Just let him add his psd/jpg as attached files on your bug tracking system. It's good if he uses dropbox for his own "backup", but I clearly wouldn't let him use Git.

Not to mention the education problem, but also because the repo is then polluted with non-code related binaries. That Git is known to suck with.

  • 1
    +1 for pointing out that Git sucks with binaries. @Andrei, what you're looking for wrt you designer is what's known as "Digital Asset Management" to handle your designer's stuff. – Shauna Feb 16 '13 at 3:00

What you describe is a fairly common situation.

These are two typical setups I've used depending on the project.

  1. (preferred) The designer and the developers do not share the project. The designer has his own project, doing his own commits, and the developers treat it as an external project, occasionally copying stuff from it into their own branches.

  2. The designer and the developers share the same project. To keep things simple for the designer, don't make him work with multiple branches, let him stay on a single branch always. That way his workflow is be simply: git commit; git rebase origin; git push

In both of these setups, the designer needs to know only basic version control and it doesn't have to get in his way. The developers can use the products delivered by the designer by updating their copy of the designer's branch.

There might be other practical setups, workflows, I can only say that these two have been sufficient in my case.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.