Creates new remotes if needed and fetches objects before cherry-picking. $ git cherry-pick http://github.com/mislav/REPO/commit/SHA > git remote add -f mislav git://github.com/mislav/REPO.git > git cherry-pick SHA
A remote must be an existing repo on GitHub. $ git fetch mislav > git remote add mislav git://github.com/mislav/REPO.git > git fetch mislav
…ub" gem If users keep the gem installed, they have a chance to be notified of updates and they can refresh their standalone script. Also, executables in ~/bin should have precedence over gem executables, so no need to uninstall.
…epo issues`) New abilities: $ hub compare -> When on a branch that tracks "remotebranch", for example, this opens "github.com/user/repo/compare/remotebranch". In effect if the tracked branch is not "master". $ hub browse reque issues -> open http://github.com/user/resque/issues $ hub browse -> When on a branch that tracks "remotebranch", for example, this opens "github.com/user/repo/tree/remotebranch". In effect if the tracked branch is not "master". $ hub browse -- commits -> open http://github.com/user/repo/commits/master If this branch is tracking a remote branch: -> open http://github.com/user/repo/commits/remotebranch Supported subpages: - "tree" (default) - "wiki" - "commits" - "issues", "network", "downloads" or any other arbitrary string is simply appended to URL path
Less juggling of constants, more ruby methods. Information that requires shelling out (e.g. GitHub username, token, repo name ...) is now loaded on demand, meaning no shelling out for commands that don't need it. Tests are now safer; they are prevented from shelling out to get info. All test data is stubbed. New `github_url` method builds needed URLs while keeping sensible defaults. Commands that open the browser (`compare`, `browse`) now share a bit of underlying implementation and recognize the same flags (`-p`, `-u`).
Usage example: $ git fork (forks "defunkt/hub" on GitHub) (git remote add mislav firstname.lastname@example.org:mislav/hub.git) new remote: mislav Use `git fork --no-remote` to skip adding the new remote. Tests use Webmock for stubbing out HTTP requests: $ gem install webmock
useful for jumping to the GitHub page of the repo checked out in the current directory
pages. caveat: had to override jewelers install task