So my colleague and I have been using Git on www.BitBucket.org to store our project. It’s an HTML5 Single Page Application, using jQuery Mobile, PhoneGap, other stuff.
This app gets multiple targets, depending on the intended user. Each target has very slightly different feature requirements than the other, but 95% or more is the same for each target.
I figured out branches pretty quickly with Git. Having used many difference VCSs in the past, it wasn’t all that hard to figure out.
However, Git is doing things that make me wonder if it isn’t just a little too clever. The automatic merge feature sometimes duplicates hunks, even though I can’t see why the diff is so drastic that it can’t figure it out. I’ve lost a lot of time because the merge, rather than signaling a merge conflict, would just duplicate whole sections, even when I think it’s pretty clear that a conflict was obvious.
I have gotten much better at both Git Gui for individually going through each change and selectively staging or ignoring hunks, or lines, as the case may be.
For that to really work, when I pull from a repository, I have to be sure to use the --no-commit option using Git Bash. It’s not an option in Git Gui.
So, well, I can get my work done, but I am underwhelmed by Git. I do like having the local repository. There are other things about Git that I like. The history view seems pretty straightforward. Eventually, I’m going to figure out more. But it’s been a rocky start, so far.