Giter VIP home page Giter VIP logo

git-browse's Introduction

Git Browse

PyPI PyPI - Python Version PyPI - License

Build Status Dependency Status Code Climate Test 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/

Related Projects

Development

pip install -e .[test]
ruff check .
mypy . --strict --ignore-missing-imports
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

git-browse's People

Contributors

albertyw avatar cdlewis avatar pyup-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

git-browse's Issues

Support GitLab

Will implement after I get one person who wants this.

Stop relying on arcanist for phabricator

Instead of using arcanist for opening phabricator-based repositories, generate them from string concatenation like how github works. This reduces dependencies and simplifies git-browse.

Initial Update

The bot created this issue to inform you that pyup.io has been set up on this repo.
Once you have closed it, the bot will open pull requests for updates as soon as they are available.

Fix shebang

With brew, the python3 executable is installed at /usr/local/bin/python3. There may need to be a fallback and/or symlink somewhere.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.