Type git open to open the repo website (GitHub, GitLab, Bitbucket) in your browser.
git open [remote-name] [branch-name]
git open --issue(git open works with these hosted repo providers, git open --issue currently only works with GitHub)
$ git open
# opens https://github.com/TRACKED_REMOTE_USER/CURRENT_REPO/tree/CURRENT_BRANCH
$ git open someremote
# opens https://github.com/PROVIDED_REMOTE_USER/CURRENT_REPO/tree/CURRENT_BRANCH
$ git open someremote somebranch
# opens https://github.com/PROVIDED_REMOTE_USER/CURRENT_REPO/tree/PROVIDED_BRANCH
$ git open --issue
# If branches use naming convention of issues/#123,
# opens https://github.com/TRACKED_REMOTE_USER/CURRENT_REPO/issues/123The preferred way of installation is to simply add the git-open script
somewhere into your path (e.g. add the directory to your PATH environment
or copy git-open into an existing included path like /usr/local/bin).
npm install --global git-openSave git-open anywhere, say as ~/Documents/Scripts/git-open.sh and define a function in your Powershell profile (see ~/Documents/WindowsPowerShell/profile.ps1) like this:
function git-open { cmd /c "C:\Program Files\Git\usr\bin\bash.exe" "~/Documents/Scripts/git-open.sh" }
Set-Alias -Name gop -Value git-openSave the git-open script in any place accessible via your %PATH% environment var.
Add antigen bundle paulirish/git-open to your .zshrc with your other bundle
commands.
Antigen will handle cloning the plugin for you automatically the next time you
start zsh, and periodically checking for updates to the git repository. You can
also add the plugin to a running zsh with antigen bundle paulirish/git-open
for testing before adding it to your .zshrc.
cd ~/.oh-my-zsh/custom/pluginsgit clone https://github.com/paulirish/git-open.git- Add
git-opento your plugin list - edit~/.zshrcand changeplugins=(...)toplugins=(... git-open)
Add zgen load paulirish/git-open to your .zshrc file in the same function
you're doing your other zgen load calls in. ZGen will take care of cloning
the repository the next time you run zgen save, and will also periodically
check for updates to the git repository.
zplug "paulirish/git-open", as:plugin
git-open can automatically guess the corresponding repository page for remotes
(default looks for origin) on the following hosts:
- github.com
- gist.github.com
- gitlab.com
- GitLab custom hosted (see below)
- bitbucket.org
- Atlassian Bitbucket Server (formerly Atlassian Stash)
To configure GitLab support you need to set some options.
| option name | description | example |
|---|---|---|
| gitopen.gitlab.domain | The (web)domain name that will work for most of the people | gitlab.example.com |
| gitopen.gitlab.ssh.domain | A specific ssh domain name, if needed | git.example.com |
| gitopen.gitlab.ssh.port | A specific ssh port, if needed | 10022 |
# use --global to set across all repos, instead of just the local one
git config [--global] gitopen.gitlab.domain [value]
git config [--global] gitopen.gitlab.ssh.domain [value]
git config [--global] gitopen.gitlab.ssh.port [value]If your Gitlab custom hosted is serving http you can also specify this:
# use --global to set across all repos, instead of just the local one
git config [--global] gitopen.gitlab.protocol httpSee hub for complete GitHub opening support.
It's the official GitHub project and provides hub browse.
Homebrew has an alternate git-open that only works with GitHub but can open user profile pages, too.
@gerep has an alternate git-open that works with a few providers. Of note, it opens the default view for BitBucket instead of the source view.
And, of course, jasonmccreary's original gh from which this plugin was forked.
jasonmccreary did the initial hard work. Since then, many contributors have submitted great PRs.
Please provide examples of the URLs you are parsing with each PR.
You can run git-open in echo mode, which doesn't open your browser, but just prints the URL to stdout:
env BROWSER='echo' ./git-openYou'll need to install bats, the Bash automated testing system. It's also available as brew install bats
git submodule update --init # pull in the assertion libraries
# Run the test suite once:
bats test # or `npm run unit`
# Run it on every change with `entr`
brew install entr
npm run watchgit recent- View your most recent git branchesdiff-so-fancy- Making the output ofgit diffso fancy
Copyright Jason McCreary & Paul Irish. Licensed under MIT. http://opensource.org/licenses/MIT
- 2017-06-17 - test suite added
- 2016-07-23 - readme -- fix oh-my-zsh install instructions
- 2016-07-22 - 1.1.0, update and add linters for package.json, readme. Re-publish to NPM.
- 2016-07-11 - Changelog started (readme formatting and installation instructions updated)
