I found git to make a lot more sense personally after reading http://eagain.net/articles/git-for-computer-scientists/ . The git parable is also very good.
git merge master
git branch master
from the tip of my experimental branch, and master will be moved up to the tip of the tree?To do what you are describing you would do this (or something similar:
git checkout master; git merge experimentalThe merge command then takes the commits in experimental that aren't in master and puts them into master.
git branch [some name]
I'll take a look at some of the suggested tutorials again. Thanks all. That said, I pretty much do straight-ahead main-line development, so this isn't a huge problem right now. I do most of my development after midnight, so there isn't a huge cognitive headroom left...Branching and merging is covered pretty well by Pro Git[1]
[1] http://ariejan.net/2009/06/08/best-practice-the-git-developm...