But I always believe them when they say something is difficult or confusing. Research should not be required to make a good CLI do what you want, provided you understand what you want.
git pull-request \ -m "I added an awesome feature"\ -b baserepo:master\ -h myfork:feature-branch
Total agreement from me, I consign this piece of advice to the same trash pile as !!NEVER USE ARROW KEYS!! ... cargo-culting nonsense.
Interactive rebase/squash is tough to find... so here it is.
in Magit status, do l l (log, short-log)
Select the sha1/commit you want to begin squash/pick rebasing...
press E
off you go.
Adding git-gutter to the mix will allow staging / reverting at the hunk level.
I should probably note also that in Magit status, the user has to TAB the unstaged file to be able to do region or hunk level staging.
Ideally it would be possible to do it in the buffer in question as well.
Not even git-gutter has region style staging. Hopefully it will be implemented soon. I had a crack at it but time got away from me.
http://i.imgur.com/evUJkAv.jpg
The repo you're referring to is Railwaycat's mirror of Yamamoto Mitsuharu's codebase. (which previously was only available via ftp and tarballs.)
Yamamoto has recently migrated to git and hosts a repo at Chiba U, the address is: http://www.math.s.chiba-u.ac.jp/~mituharu/emacs-mac.git
HOWEVER. Railwaycat does still maintain the Homebrew tap and formula for installing Emacs Mac Port
Here: https://github.com/railwaycat/homebrew-emacsmacport
A simple install via:
brew tap railwaycat/emacsmacport brew update brew install emacs-mac
Once built, you can (without any problems) move the Emacs.app into your /Applications/ folder.
Don't do yourself a disservice, install Emacs Mac Port now.