Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git setup for non-developers

Tags:

git

I'm trying to introduce git at work, and to do that I want to maximize team buy-in.

This is not a problem for programmers (we're usually delighted to learn new stuff like this) but it is a problem for designers and content managers who commit static content like html, css, etc. They can barely use Subversion via TortoiseSVN, so I need to simplify git as much as possible. This means that some concepts have to be somehow hidden, like index, stash, merges, rebase, branches.

Dirty working copies should be automatically handled with stashes.

Also there's no way they will use the command-line. They also won't read any guides or tutorials.

You might wonder why I don't just stick to git-svn: it's because designers have to tweak the html/css I create before it's merged into trunk.

So the questions are: has anyone used git with non-developers? how do you handle it? what's your workflow? could git-cvsserver be useful for this? Is there any GUI that does automatic stashing?

Anything that could be used to simplify git will be greatly appreciated.

like image 409
Mauricio Scheffer Avatar asked Oct 22 '09 21:10

Mauricio Scheffer


People also ask

Is Git useful for non programmers?

GitHub is a website designed for programmers to collaboratively build their code. But that doesn't mean you need to be a programmer to use it! You can get started with collaborative version-tracking of your (non-programming) work without ever writing a line of code or using the command line.

What is Git for non developers?

Git lets you create, collaborate, and manage projects (code, text, copy, information) all while recording the history of whatever it is you're making. Even if you work alone, Git is a useful tool, because you are probably already encountering issues that a version control system can solve.

Can you use GitHub for non software projects?

GitHub can be used as an online version control system for many different types of projects. You could host a user manual on GitHub, allowing various writers to work on it while carefully tracking revisions. To be clear, GitHub isn't optimized for versioning non-coding projects.

Is Git free for personal use?

Git. Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.


1 Answers

Basically, you need to make Git:

  • transparent for your non-technical users
  • administered by one technical Git-savvy "superuser"

That means:

  • one central Git repo where every designer/content manager will push to (even if they do not know it)
  • scripts running every day (usually early in the night) for:
    • monitoring a central "instruction file" (which can instruct said script on each committer's station to change branch, or update a .gitignore file, or...)
    • git add -A, git commit
    • git push
    • git pull (they need to be aware to review each morning their workspace in order to take into account new works pulled from the central repo)
    • write the result of all commands in dedicated files (dated and named after the committer, in a central shared directory)

Each morning, the superuser would check if all pushes are successful and solve any conflict. He/She also would merge approved work in the local branches of the central repo (including the one which is pulled every night).
I would also recommend making those Git repositories (on committer's workstations) in a shared directory, in order for the superuser to be able to access them and directly manipulate them if need be.

like image 82
VonC Avatar answered Sep 22 '22 08:09

VonC