I’m fed up with git. I know its the hot new Linus developed ultra distributed no master repository version control system with extra dietary fiber these days. But overall, the user experience sucks and the tool provides no help at all and I end up in the weeds with it daily working with just one other developer. I would not choose it again.
First off – there’s a zillion tutorials for it – all incomplete and leaving out crucial details – which makes finding information about it worse than having no tutorials. You can waste hours looking at trivial blog posts about git that don’t answer the key question about how to manually resolve conflicts.
Second, git doesn’t seem to deal with XCode project files at all. Trying to tell git to ignore them via the config flags doesn’t seem to work. Our project files are ALWAYS in conflict and while we keep resolving them by doing git add – we never get a chance to try to reach common ground and this is actually worse than having no version control on the project file.
Third, I have yet to figure out how to get git to actually put the differences in a file so I can fix them. It continually complains about merge conflicts without actually putting the conflicts where I can find and fix them.
So, I’ve come to conclude that I just don’t “get” git’s model (despite reading a few dozen papers around the web on it) and I never had nearly so much trouble with plain old CVS. So I don’t see what problem git “solves” but I do see a large number that it creates.
Maybe there’s a book somewhere putting all the pieces together…