#pull-request #git #git-diff #github #repository #command-line-tool #git-commit

bin+lib git-brws

命令行工具,可以从命令行在您的网页浏览器中打开仓库、文件、提交、diff、标签、pull request、issue或项目网站

31 个版本

0.11.12 2020年9月18日
0.11.10 2020年8月5日
0.11.9 2020年4月27日
0.11.7 2020年2月8日
0.4.1 2016年12月28日

#646 in 开发工具

Download history 6/week @ 2024-03-10 283/week @ 2024-03-31 1/week @ 2024-04-07

每月 69 次下载

MIT 许可证

135KB
3.5K SLoC

git brws

crates.io Github Actions CI Coverage

git brws 是一个命令行工具,可以从命令行在您的网页浏览器中打开仓库、文件、提交、diff、标签、blame、pull request、issue或项目网站。'brws' 是 'browse' 的缩写。

功能

安装

git brws 可在 Linux、macOS 和 Windows 上使用。

使用 Homebrew

$ brew tap "rhysd/git-brws" "https://github.com/rhysd/git-brws"
$ brew install git-brws

它将 git-brws 安装到 /usr/local/bin,并将 git-brws.1 安装到 /usr/local/share/man/man1。这是在 macOS 上推荐的安装方式,因为更新到新版本很简单。

Arch Linux

您可以通过 AUR 软件包 安装 git-brws

git clone https://aur.archlinux.org/git-brws.git
cd git-brws
makepkg -si

发布页面 下载

预构建的二进制可执行文件可在 发布页面 获取,以下为支持的目标

  • Linux 64位 (x86_64-unknown-linux-gnu)
  • macOS 64位 (x86_64-apple-darwin)
  • Windows 64位 (x86_64-pc-windows-msvc)
  • Linux 32位 (i686-unknown-linux-gnu)
  • Windows 32位 (i686-pc-windows-msvc)

下载并解压缩二进制文件,然后将可执行文件放入 $PATH

有关 man 命令的手册页可用。请在解压缩目录中找到 git-brws.1 或从 此处 下载,并将其复制到系统中的 man 目录(例如 /usr/local/share/man/man1/)。

注意:只有当它已安装时,git brws --help 才能正常工作。 git brws -h 总是可用的。

使用 cargo

$ cargo install git-brws

从源代码构建 git-brws 需要 Rust 工具链。

用法

Usage: git brws [Options] {Args}

Options:
    -r, --repo REPO     Shorthand format (repo, user/repo, host/user/repo) or
                        Git URL you want to see. When only repo name is
                        specified, most popular repository will be searched
                        from GitHub
    -b, --branch BRANCH Branch name to browse
    -d, --dir PATH      Directory path to the repository. Default value is
                        current working directory
    -R, --remote 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
  • develop 分支
$ git brws -b develop
  • develop 分支的 origin 远程
$ git brws -r origin -b develop
  • @rhysd 的 'Shiba' 仓库
$ git brws -r rhysd/Shiba
  • GitHub 上最受欢迎的 react 仓库
$ git brws -r react

它将打开 https://github.com/facebook/react

注意:当只指定 -r 选项的仓库名称时,git-brws 将使用查询 {repo} in:name 在 GitHub 上进行搜索,并打开最佳匹配的仓库页面。

  • 指定仓库目录
$ git brws -d ~/.go/src/github.com/rhysd/dot-github

打开文件页面

  • 当前远程当前分支的文件
$ git brws ./some/file.txt
  • 文件的行号
$ git brws ./some/file.txt#L123

注意:行号 L 可以省略。

  • 文件的行号范围
$ git brws ./some/file.txt#L123-L126

注意:行号 L 可以省略。

打开提交页面

  • 当前仓库的 HEAD 页面
$ git brws HEAD

打开标签页面

  • 当前仓库的 0.10.0 标签页面
$ git brws 0.10.0

打开提交之间的差异页面

  • HEADHEAD~3 之间的差异
$ git brws HEAD~3..HEAD
  • 113079b60024ab 之间的差异
$ git brws 60024ab..113079b

从特定提交及其合并基础打开差异页面

除了 ..,还支持与 ... 的差异比较。

  • 比较 branchB 和合并到 branchAbranchB 分支的基提交
$ git brws branchA...branchB

如果您不知道 ..... 之间的差异,请阅读 git diff --help

注意:只有 GitHub 和 GitHub Enterprise 支持 ...。对于 GitLab,只有 ... 可用。

打开拉取请求页面

  • 当前仓库当前分支的拉取请求页面
$ git brws --pr
  • 特定仓库特定分支的拉取请求页面
# 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

注意:目前仅支持 GitHub 和 GitHub Enterprise。

注意:如果您在同一个仓库中创建了具有相同分支名称的多个拉取请求,命令可能不会打开您想要的拉取请求页面。

注意:当当前分支的拉取请求页面尚不存在时,它将打开“创建拉取请求”页面。

打开仓库网站

# Website for current repository
$ git brws --website

使用 --repo 选项,可以打开任意仓库的网站。

# Opens https://reactjs.org
$ git brws --website --repo react

它将打开仓库的网站。

  • 对于 GitHub,如果设置了“主页”配置,则使用仓库的 URL。否则为 https://{user}.github.io/{repo}
  • 对于 GitHub Enterprise,根据您的 GitHub Enterprise 子域名隔离配置,为 https://pages.{host}/{user}/{repo}https://{host}/pages/{user}/{repo}
  • 对于 GitLab,GitLab Pages
  • 对于 Bitbucket,Bitbucket Cloud

打开问题页面

  • 问题 #8
$ git brws '#8'

注意:在大多数 shell 中,# 通常用于行注释。请引用参数

打开责任归属页面

  • 特定文件
$ git brws --blame some/file.txt
  • 文件中的特定行
$ git brws --blame some/file.txt#L5
  • 文件中的特定范围
$ git brws --blame some/file.txt#L5-L9

与其他工具协作

使用 -u 选项,git brws 将输出到 stdout 的 URL。

例如,在 Vim 中,您可以将您的仓库 URL 立即写入您的文本。

:r!git brws -u

以下可以打开浏览器中的编辑文件。

:!git brws %

自定义

一些环境变量可用于自定义 git-brws 的行为。

变量 描述
$GIT_BRWS_GIT_COMMAND 要使用的 Git 命令。如果没有指定,将使用 "git"
$GIT_BRWS_GHE_URL_HOST 当您使用自己的 GitHub Enterprise 仓库时,您可以为此变量指定其主机。默认情况下,git brws^github\. 作为 GHE 主机。如果您的 GHE 仓库主机不匹配,请指定此变量。如果您的仓库是 https://example-repo.org/user/repo,则应设置 example-repo.org
$GIT_BRWS_GHE_SSH_PORT 当您设置一个数字时,该数字将用于 GitHub Enterprise URL 的 ssh 端口。
$GIT_BRWS_GITLAB_URL_HOST 当您使用自托管的GitLab实例时,可以指定其主机到该变量。默认情况下,git brws 检测与 ^gitlab\. 匹配的主机作为GitLab。如果您的GitLab URL主机不匹配,请指定此变量。如果您的仓库托管在 https://your-code.net/user/repo,应设置 your-code.net
$GIT_BRWS_GITLAB_SSH_PORT 将数字设置到它时,该数字将用于自托管的GitLab URL的ssh端口。当您的环境将GitLab托管到非平凡ssh端口URL时,这很有用。
$GIT_BRWS_GITHUB_TOKEN 此变量仅用于 --pr(或 -p)。GitHub.com的API访问令牌。它们是可选的,但有助于避免API速率限制并访问私有仓库。请从 https://github.com/settings/tokens/new 生成令牌。
$GITHUB_TOKEN 相同。当未设置 GIT_BRWS_GITHUB_TOKEN 时,将查找 GITHUB_TOKEN
$GIT_BRWS_GHE_TOKEN 此变量仅用于 --pr(或 -p)。GitHub Enterprise实例的API访问令牌。有时它是强制性的(取决于您的GHE实例配置)。请从 https://{YOUR GHE HOST}/settings/tokens/new 生成令牌。
$GIT_BRWS_BROWSE_COMMAND 打开URL的命令。如果指定了此值,则使用URL作为第一个参数执行该命令以浏览URL。
$GIT_BRWS_SHORT_COMMIT_HASH 设置 true 将使用7个字母的短提交哈希,例如 78fbce6 用于URL。
$https_proxy 此变量仅用于 --pr(或 -p)。如果您使用Web代理,则是一个HTTPS代理服务器URL。

待办事项

请参阅 项目页面

开发

请参阅 CONTRIBUTING.md

许可证

MIT许可证 下分发。

依赖项

~7–11MB
~225K SLoC