I found this post very helpful:

easily fetching upstream changes @ gitready.com

In a nutshell (for my own reference):

git remote add upstream git://github.com/user/repo.git
[alias]
  pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master"

Git is really impressing me these days. Unfortunately for subversion, its showing me things I didn’t even know about the ol’ reliable svn…

After trying this on docu-not-git-wiki (a new branch to inspect minad’s fork), I’m getting this error:

fatal: You have not concluded your merge. (MERGE_HEAD exists)

I’m not sure how I fixed this, but I fiddled around with git reset HEAD git-wiki.rb and manually edited files, and then did:

git commit -m "ok" -a

It seems to be fine, as I pushed the new branch and its now available on github.

And lastly, to push tags to github:

git push --tags

UPDATE: I’m not going to use that shortcut again anytime soon! It got me started with the idea, but obviously I don’t understand the process well enough yet. My second attempt at creating a branch and merging upstream changes with it resulted in the entire history getting applied to both the branch and my mainline branch. Ugh! Thankfully docu-not-git-wiki is fairly simple. :-)

Duh, yeah. I just looked at the alias again and it does indeed merge with master. Doh!