[development] Git.. wat?

Domenic Santangelo domenics at gmail.com
Thu Apr 29 21:34:02 UTC 2010

With d.o moving to git, I'm becoming more interested in how it works. Can anyone point me to a really solid primer? I've looked around at length and am having a tough time grokking how git works, especially in regards to multi-person development.

For example, I have one project that the previous dev set up to use git. For just me that's fine -- git add, git commit -a, git push, then reset to head on the dev server. But when more than one person is involved all hell breaks loose:

Say you and I edit the same .css file and for some reason there's a conflict (git seems very bad at merging .css compared to svn from my experience). In svn: svn ci, see you're out of date, svn up, resolve the conflict, svn resolved, svn ci, done. In git this is all confusing and you can even break MERGE_HEAD if you try to git pull after resolving a conflict and git will think you still have conflicts to resolve. It's all very troublesome.

From what I can tell, this is a common confusion coming from a "commit-update"-style system like svn; regardless, I still don't really get it. Any tips/articles/anything?


More information about the development mailing list