git brws
git brws
...
git brws
#...
git brws
git brws
git brws
git brws
..
git brws
...
git brws
--repo
git brws
--pr
git brws
--website
git-brws is a command line tool to open a repository, file, commit, diff, tag, blame, pull request, issue or project's website in your web browser from command line. 'brws' is an abbreviation of 'browse'.
Example of pages which git-brws can open are:
- Repository: https://github.com/rhysd/git-brws
- File: https://github.com/rhysd/git-brws/blob/38f46f1/Cargo.toml
- Part of file: https://github.com/rhysd/git-brws/blob/38f46f1/Cargo.toml#L2-L10
- Commit: https://github.com/rhysd/git-brws/commit/60024ab
- Diff: https://github.com/rhysd/git-brws/compare/e3c18d0..60024ab
- Tag https://github.com/rhysd/git-brws/tree/0.10.0
- Pull request: rust-lang/rust.vim#290
- Issue: #8
- Website: https://rhysd.github.io/git-brws
- Blame: https://github.com/rhysd/git-brws/blame/9ab093f/src/service.rs
git-brws prefers permlink to the latest page since the latest page will change when new commit is pushed to the branch.
git-brws supports GitHub, GitHub Enterprise, BitBucket, GitLab as Git repository hosting services.
- GitHub: https://github.com
- Bitbucket: https://bitbucket.org
- GitHub Enterprise: https://enterprise.github.com/home
- GitLab: https://about.gitlab.com/
- Azure DevOps: https://azure.microsoft.com/services/devops/
In addition to arguments described in , following options are available as command line arguments. All are optional.
-
-r
,--repo
: Specify which repository should be open. is one of (1) shorthand format (repo, user/repo, host/user/repo) or (2) Git URL you want to see. When only repository name is specified,git-brws
searches GitHub with query '{repo} in:name' and opens the best-matched repository page. -
-b
,--branch
: Branch name to browse. -
-d
,--dir
: Directory path to the repository. Default value is current working directory. -
-R
,--remote
: Remote name (e.g. origin). Default value is a remote the current branch is tracking. If current branch tracks no branch, it falls back to 'origin'. -
-u
,--url
: Output URL to stdout instead of opening in browser. -
-p
,--pr
: Open pull request page instead of repository page. If not existing, open 'Create Pull Request' page. -
-w
,--website
: Open website page instead of repository page (homepage URL for GitHub, GitLab pages, Bitbucket Cloud) -
-B
,--blame
: Open blame page instead of repository page. File path to blame must be passed also. -
-c
,--current-branch
: Open the current branch instead of default branch. -
-h
,--help
: Print this help. -
-v
,--version
: Show version.
$ git brws
$ git brws -b develop
$ git brws -r origin -b develop
$ git brws -r rhysd/Shiba
$ git brws -r react
$ git brws -d ~/.go/src/github.com/rhysd/dot-github
$ git brws ./some/file.txt
$ git brws ./some/file.txt#L123
Note: The 'L' can be omit.
$ git brws ./some/file.txt#L123-L126
Note: The 'L' can be omit.
$ git brws HEAD
$ git brws 0.10.0
$ git brws HEAD~3..HEAD
$ git brws 60024ab..113079b
In addition to '..', diff with '...' is supported.
$ git brws branchA...branchB
Note: If you don't know the difference between '..' and '...', please read 'git diff --help'.
Note: Only GitHub and GitHub Enterprise support '...'. For GitLab, only '...' is available.
$ git brws --pr
Note: When a pull request page for current branch is not existing yet, it opens 'Create Pull Request' page instead.
# Specify my forked repository
$ git brws --pr --repo rhysd/rust.vim -b async-contextual-keyword
# Or specify original repository
$ git brws --pr --repo rust-lang/rust.vim -b async-contextual-keyword
Note: Currently only GitHub and GitHub Enterprise are supported.
Note: If you have created multiple pull requests at the same repository with the same branch name, the command may not open a pull request page you want.
Note: When a pull request page for current branch is not existing yet, it opens 'Create Pull Request' page instead.
# Website for current repository
$ git brws --website
# Website of other repository
$ git brws --website --repo git-brws
Note: It opens a website for the repository.
- For GitHub, URL for 'homepage' configuration of the repository if it's set. Otherwise 'https://{user}.github.io/{repo}'
- For GitHub Enterprise, 'https://pages.{host}/{user}/{repo}' or 'https://{host}/pages/{user}/{repo}' depending on your GitHub Enterprise configuration of subdomain isolation
- For GitLab, GitLab Pages
- For Bitbucket, Bitbucket Cloud
$ git brws '#8'
Note: '#' is usually used for a line comment in major shells. Please quote the argument
$ git brws --blame some/file.txt
$ git brws --blame some/file.txt#L5
$ git brws --blame some/file.txt#L5-L9
-
$GIT_BRWS_GIT_COMMAND
: Git command to use. If not specified, "git" will be used. -
$GIT_BRWS_GHE_URL_HOST
: When you use your own GitHub Enterprise repository, you can specify its host to this variable. By default, git-brws detects '^github.' as GHE host. If your GHE repository host does not match it, please specify this variable. If your repository is 'https://example-repo.org/user/repo', 'example-repo.org' should be set. -
$GIT_BRWS_GHE_SSH_PORT
: When you set a number to it, the number will be used for the ssh port for GitHub Enterprise URLs. -
$GIT_BRWS_GITLAB_URL_HOST
: When you use self-hosted GitLab instance, you can specify its host to this variable. By default, git-brws detects host matching to '^gitlab.' as GitLab. If your GitLab URL host does not match it, please specify this variable. If your repository is hosted at 'https://your-code.net/user/repo', 'your-code.net' should be set. -
$GIT_BRWS_GITLAB_SSH_PORT
: When you set a number to it, the number will be used for the ssh port for self-hosted GitLab URLs. This is useful when your environment hosts GitLab to non-trivial ssh port URL. -
$GIT_BRWS_GITHUB_TOKEN
: This variable is used for '--pr' (or '-p') only. API access token for github.com. They are optional, but useful for avoiding API rate limit and accessing to private repositories. Please generate a token from https://github.com/settings/tokens/new -
$GITHUB_TOKEN
: Ditto. When $GIT_BRWS_GITHUB_TOKEN is not set, $GITHUB_TOKEN is looked. -
$GIT_BRWS_GHE_TOKEN
: This variable is used for '--pr' (or '-p') only. API access token for GitHub Enterprise instance. It is sometimes mandatory (depending on your GHE instance configuration). Please generate a token from 'https://{YOUR GHE HOST}/settings/tokens/new'. -
$GIT_BRWS_BROWSE_COMMAND
: Command to open URL. If this value is specified, the command is executed with URL as first argument to browse the URL. -
$GIT_BRWS_SHORT_COMMIT_HASH
: Setting 'true' will use 7-letters short commit hash like '78fbce6' for URLs. -
$https_proxy
: This variable is used for '--pr' (or '-p') only. An HTTPS Proxy server URL if you use a web proxy.
git-brws is developed at repository hosted on GitHub.
https://github.com/rhysd/git-brws
Please visit issues page to see known bugs. If you've found a new bug, please report it here.
https://github.com/rhysd/git-brws/issues
git-brws is licensed under the MIT License Copyright (c) 2016 rhysd
GIT(1)