This is an adaptation of https://twitter.com/jasonneylon script.
In the terminal window, you can open your current repo (at the current branch) in your default browser.
My adaptation was adding options to view the commits, branches, pull requests or issues for the repo using one of the additional options (added support for wiki, settings, pulse, graphs, network):
[h] => View help
[c] => View commits
[c {SHA}] => View specific commit from commit SHA
[b] => View branches
[pr] => View current branch compared to master
[pr branch] => View current branch compared to specified branch
[i] => View issues
[a] => View assigned issues (in dev)
[w] => View wiki
[s] => View settings
[p] => View pulse
[g] => View graphs
[n] => View network
[<filename.ext>] => Open a file in it's current state in the current branch
This is a bash script, so it would be recommended that you include it in your ~/.bashrc
(or ~/.bash_profile
) file.
Using the command line (as it's generally easier than searching for potentially hidden files):
$ vi ~/.bash_rc
- or use your preferred text editor e.g.mate
,subl
etc.- Paste
function gh() { ... }
into~/.bashrc
file- If you opted to use
$ vi
, you may need to pressa
to allow you to edit the file
- If you opted to use
- Save
.bashrc
(you may also close the file)- If you opted to use
$ vi
, save and close the file:ESC
and:wq
- If you opted to use
$ source ~/.bashrc
- updates the Terminal/Shell with your changes, activating them ready for use
$ gh
Open your repo from the command line$ gh i
View/list helper options$ gh c
Open your branches Commits from the command line[c {SHA}]
View specific commit from commit SHA$ gh b
Open your repo's Branches from the command line$ gh pr
Compare the current branch to master from the command line, ready for a pull request$ gh pr branch
Compare the current branch to the branch specified from the command line, ready for a pull request$ gh i
Open your repo's Issues from the command line$ gh w
Open your repo's Wiki from the command line$ gh s
Open your repo's Settings from the command line$ gh p
Open your repo's Pulse Activity from the command line$ gh g
Open your repo's Graphs/Analytics from the command line$ gh n
Open your repo's Network Graph from the command line$ gh <filename.ext>
Open a file in it's current state in the current branch
I plan on making some improvements to this script (when I get the time to study bash/github a little more):
- Add
elif [ "$1" = "a" ];
to only show Issues assigned to a particular user, either the current user, or a specified user
Any thoughts, suggestions or improvements? Let me know https://twitter.com/carmat71
Source: http://jasonneylon.wordpress.com/2011/04/22/opening-github-in-your-browser-from-the-terminal/
N.B.
This script works for most* operating systems, although it does involve editing slightly. The only parts that should need editing are wher you see the command open
. This is specific to Mac OS. Other OS's will need to be customised like so:
- Mac
open
- Windows
start
orcmd /c start
- Linux/Unix
xdg-open
- Cygwin
cygstart
*Mac OS and MS Windows are the only operating sytems I have been able to test.
Update
I've made an improvement to the 'gh c' command, whereby you can enter a commit SHA and have the browser open up at the commit. Useful for viewing changes in a particular.
How to...
gh c 8c72f05
gh c 8c72f05fc9074d6db70dfd1e6806dcd8a1f01c4f