Skip to main content

Git Browse

PyPI PyPI - Python Version PyPI - License

Build Status Maintainability Code Coverage

Open git repositories, commits, directories, and files in the browser. See also, git-reviewers.

Preview

This script can be added as a gitconfig alias to easily browse repositories on Git hosting services (e.g. github). It is built to model arcanist's browse command. It is specifically designed to have no dependencies so it should be easily installable and very portable.

Git Browse supports opening git repositories, commits, directories, and files:

Installation

HomeBrew (preferred for MacOS)

If you use Homebrew, you can install git-browse through the homebrew-albertyw tap:

brew install albertyw/albertyw/git-browse

Manual

If you don't use Homebrew, first clone this repository to somewhere on your system (perhaps in your dotfiles repository), then run <REPOSITORY_LOCATION>/install.sh.

Usage

$ git browse -h
'browse' is aliased to '!~/.dotfiles/scripts/git/git-browse/git_browse/browse.py --path=${GIT_PREFIX:-./}'
usage: browse.py [-h] [--path PATH] [-d] [-c] [-s] [-g] [-v] [target]

Open repositories, directories, and files in the browser. https://github.com/albertyw/git-browse

positional arguments:
  target             file, directory, git hash, or git branch you wish to browse

optional arguments:
  -h, --help         show this help message and exit
  --path PATH        relative path to the current git repository
  -d, --dry-run      Do not open the url in the brower, and only print to stdout
  -c, --copy         Copy url to clipboard, if available
  -s, --sourcegraph  Open objects in sourcegraph
  -g, --godocs       Open objects in godocs
  -v, --version      show program's version number and exit

Examples

Command Opens
git browse https://github.com/albertyw/git-browse
git browse README.md https://github.com/albertyw/git-browse/blob/master/README.md
git browse git_browse https://github.com/albertyw/git-browse/tree/master/git_browse/
git browse v1.1.1 https://github.com/albertyw/git-browse/commit/80b219dee0aaa86b378993cbf88511126b813c5f
git browse --sourcegraph https://sourcegraph.com/github.com/albertyw/git-browse
git browse --godocs https://godocs.io/github.com/albertyw/git-browse
git browse for Bitbucket https://bitbucket.org/albertyw/asdf
git browse for Gitlab https://gitlab.com/albertyw/asdf
git browse for Uber Phabricator https://code.uberinternal.com/diffusion/rASDF/repository/master/

Development

pip install -e .[test]
ruff check .
mypy .
coverage run -m unittest
coverage report

Publishing

  1. Update changelog and __version__ variable with a semantic version
  2. Commit changes, create a version tag, and push both
  3. Update albertyw/homebrew-albertyw

Release files for git-browse 2.15.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for git-browse 2.15.1
File Size Uploaded
git_browse-2.15.1.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for git-browse 2.15.1
File Interpreter ABI Platform
git_browse-2.15.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.8 kB

Release files / git_browse-2.15.1.tar.gz

Download URL git_browse-2.15.1.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
440b38f428d2fd3e20d667c18ae9f8cfa05f77748b4394bd418bfc391408f00c
BLAKE2b-256 checksum
How to use checksums
f7ae123a19b2d25908c85eb2cf376d91b5a501b9dc00479ede0efb396054fc34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / git_browse-2.15.1-py3-none-any.whl

Download URL git_browse-2.15.1-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4784ab3fde3259b6b738dddc401eaf2df5dbe1136d50c29a80eb20cc1476b3fb
BLAKE2b-256 checksum
How to use checksums
f51dd99b8c9b6aa096a2840aeb08c15b58edd7e9446d858082a9fbdd466a43cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

2.15.1 This release

2 release files

2.15.0

2 release files

2.13.9

2 release files

2.13.8

2 release files

2.13.7

2 release files

2.13.4

2 release files

2.13.3

2 release files

2.12.1

2 release files

2.11.0

2 release files

2.10.0

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.0

2 release files

2.7.3

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.0

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page