GitHub 和 GitHub Enterprise 的官方集成。
gitsome
?尽管标准 Git 命令行是管理 Git 支持的存储库的绝佳工具,但记住以下命令的用法可能很困难:
Git 命令行不与 GitHub 集成,迫使您在命令行和浏览器之间切换。
gitsome
- 具有自动完成功能的增压 Git/GitHub CLI gitsome
旨在通过关注以下方面来增强您的标准 git/shell 界面:
并非所有 GitHub 工作流程都能在终端中正常运行; gitsome
试图瞄准那些这样做的人。
gitsome
包含 29 个 GitHub 集成命令,适用于所有shell:
$ gh <command> [param] [options]
运行gh
命令以及 Git-Extras 和 hub 命令来解锁更多 GitHub 集成!
您可以运行可选的shell:
$ gitsome
启用以下内容的自动完成和交互式帮助:
gitsome
自动完成以下内容:
要启用其他自动补全,请查看启用 Bash 补全部分。
gitsome
支持 Fish 风格的自动建议。使用right arrow
键完成建议。
gitsome
由xonsh
提供支持,它支持 Python REPL。
与 shell 命令一起运行 Python 命令:
其他xonsh
功能可以在xonsh tutorial
中找到。
gitsome
跟踪您输入的命令并将它们存储在~/.xonsh_history.json
中。使用向上和向下箭头键循环浏览命令历史记录。
您可以通过更新~/.gitsomeconfig
文件来控制用于突出显示的 ansi 颜色。
颜色选项包括:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
如果没有颜色,请将值设置为None
。 white
在某些终端上可能显示为浅灰色。
gitsome
适用于 Mac、Linux、Unix、Windows 和 Docker。
并非所有 GitHub 工作流程都能在终端中正常运行;
gitsome
试图瞄准那些这样做的人。
gitsome
才刚刚开始。欢迎贡献!
gh configure
gh create-comment
gh create-issue
gh create-repo
gh emails
gh emojis
gh feed
gh followers
gh following
gh gitignore-template
gh gitignore-templates
gh issue
gh issues
gh license
gh licenses
gh me
gh notifications
gh octo
gh pull-request
gh pull-requests
gh rate-limit
gh repo
gh repos
gh search-issues
gh search-repos
gh starred
gh trending
gh user
gh view
gh configure
命令gitsome
之外启用gh
Tab 补全PIL
或Pillow
用法:
$ gh <command> [param] [options]
configure Configure gitsome.
create-comment Create a comment on the given issue.
create-issue Create an issue.
create-repo Create a repo.
emails List all the user's registered emails.
emojis List all GitHub supported emojis.
feed List all activity for the given user or repo.
followers List all followers and the total follower count.
following List all followed users and the total followed count.
gitignore-template Output the gitignore template for the given language.
gitignore-templates Output all supported gitignore templates.
issue Output detailed information about the given issue.
issues List all issues matching the filter.
license Output the license template for the given license.
licenses Output all supported license templates.
me List information about the logged in user.
notifications List all notifications.
octo Output an Easter egg or the given message from Octocat.
pull-request Output detailed information about the given pull request.
pull-requests List all pull requests.
rate-limit Output the rate limit. Not available for Enterprise.
repo Output detailed information about the given filter.
repos List all repos matching the given filter.
search-issues Search for all issues matching the given query.
search-repos Search for all repos matching the given query.
starred Output starred repos.
trending List trending repos for the given language.
user List information about the given user.
view View the given index in the terminal or a browser.
有关所有 GitHub 集成命令、参数、选项和示例的详细讨论,请参阅 COMMANDS.md 中的 GitHub 集成命令参考。
查看下一节以获得快速参考。
gitsome
要正确与 GitHub 集成,您必须首先配置gitsome
:
$ gh configure
对于 GitHub Enterprise 用户,请使用-e/--enterprise
标志运行:
$ gh configure -e
$ gh feed
查看您的活动源或其他用户的活动源,可以选择通过带有-p/--pager
寻呼机。寻呼机选项可用于许多命令。
$ gh feed donnemartin -p
$ gh feed donnemartin/gitsome -p
$ gh notifications
查看您的存储库的所有拉取请求:
$ gh pull-requests
查看提到您的所有未解决问题:
$ gh issues --issue_state open --issue_filter mentioned
查看所有问题,仅筛选分配给您的问题,无论状态如何(开放、关闭):
$ gh issues --issue_state all --issue_filter assigned
有关过滤器和状态限定符的更多信息,请访问 COMMANDS.md 中的gh issues
参考。
$ gh starred "repo filter"
搜索 +1 最多的问题:
$ gh search-issues "is:open is:issue sort:reactions-+1-desc" -p
搜索评论最多的问题:
$ gh search-issues "is:open is:issue sort:comments-desc" -p
使用“需要帮助”标签搜索问题:
$ gh search-issues "is:open is:issue label:"help wanted"" -p
搜索您的用户名标记为@donnemartin的问题:
$ gh search-issues "is:issue donnemartin is:open" -p
搜索所有公开的私人问题:
$ gh search-issues "is:open is:issue is:private" -p
有关查询限定符的更多信息,请访问搜索问题参考。
搜索 2015 年或之后创建的、星数 >= 1000 的所有 Python 存储库:
$ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p
有关查询限定符的更多信息,请访问搜索存储库参考。
查看热门存储库:
$ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser]
查看趋势开发者(目前仅在浏览器中支持开发者):
$ gh trending [language] --devs --browser
view
命令查看之前列出的通知、拉取请求、问题、存储库、用户等,并使用适合您的终端的 HTML 格式,或者选择在浏览器中查看:
$ gh view [#] [-b/--browser]
issue
命令查看一个问题:
$ gh issue donnemartin/saws/1
pull-request
命令查看拉取请求:
$ gh pull-request donnemartin/awesome-aws/2
.gitignore
列出所有可用的.gitignore
模板:
$ gh gitignore-templates
设置你的.gitignore
:
$ gh gitignore-template Python > .gitignore
LICENSE
列出所有可用的LICENSE
模板:
$ gh licenses
设置您的 或LICENSE
:
$ gh license MIT > LICENSE
呼叫 Octocat 说出给定的消息或复活节彩蛋:
$ gh octo [say]
$ gh user octocat
使用gh user [YOUR_USER_ID]
命令或使用以下快捷方式查看您的个人资料:
$ gh me
创建评论:
$ gh create-comment donnemartin/gitsome/1 -t "hello world"
创建一个问题:
$ gh create-issue donnemartin/gitsome -t "title" -b "body"
创建一个存储库:
$ gh create-repo gitsome
许多gh
命令支持-p/--pager
选项,该选项在可用的情况下在寻呼机中显示结果。
用法:
$ gh <command> [param] [options] -p
$ gh <command> [param] [options] --pager
许多gh
命令支持-b/--browser
选项,该选项在默认浏览器而不是终端中显示结果。
用法:
$ gh <command> [param] [options] -b
$ gh <command> [param] [options] --browser
有关所有 GitHub 集成命令、参数、选项和示例的详细列表,请参阅 COMMANDS.md。
难以记住这些命令?查看方便的自动完成程序和交互式帮助,指导您完成每个命令。
请注意,您可以将gitsome
与其他实用程序(例如 Git-Extras)结合使用。
gitsome
托管在 PyPI 上。以下命令将安装gitsome
:
$ pip3 install gitsome
您还可以从 GitHub 源安装最新的gitsome
,其中可能包含尚未推送到 PyPI 的更改:
$ pip3 install git+https://github.com/donnemartin/gitsome.git
如果您没有在virtualenv
中安装,则可能需要使用sudo
运行:
$ sudo pip3 install gitsome
pip3
根据您的设置,您可能还想使用-H flag
运行pip3
:
$ sudo -H pip3 install gitsome
对于大多数 Linux 用户来说,可以使用python3-pip
软件包将pip3
安装在系统上。
例如,Ubuntu 用户可以运行:
$ sudo apt-get install python3-pip
请参阅此票以了解更多详细信息。
您可以在virtualenv
中安装 Python 包,以避免依赖项或权限方面的潜在问题。
如果您是 Windows 用户或者您想了解有关virtualenv
的更多详细信息,请查看本指南。
安装virtualenv
和virtualenvwrapper
:
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
$ export WORKON_HOME=~/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
创建一个gitsome
virtualenv
并安装gitsome
:
$ mkvirtualenv gitsome
$ pip3 install gitsome
如果pip
安装不起作用,您可能默认运行的是 Python 2。检查您正在运行的 Python 版本:
$ python --version
如果上面的调用生成 Python 2,请查找 Python 3 的路径:
$ which python3 # Python 3 path for mkvirtualenv's --python option
如果需要,安装 Python 3。调用mkvirtualenv
时设置 Python 版本:
$ mkvirtualenv --python [Python 3 path from above] gitsome
$ pip3 install gitsome
如果您想稍后再次激活gitsome
virtualenv
,请运行:
$ workon gitsome
要停用gitsome
virtualenv
,请运行:
$ deactivate
您可以在 Docker 容器中运行 gitsome 以避免在本地安装 Python 和pip3
。要安装 Docker,请查看 Docker 官方文档。
一旦安装了 docker,你就可以运行 gitsome:
$ docker run -ti --rm mariolet/gitsome
您可以使用 Docker 卷让 gitsome 访问您的工作目录、本地 .gitsomeconfig 和 .gitconfig:
$ docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome
如果您经常运行此命令,您可能需要定义一个别名:
$ alias gitsome="docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome"
要从源构建 Docker 映像:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ docker build -t gitsome .
gitsome
Shell安装后,运行可选的gitsome
自动完成程序并提供交互式帮助:
$ gitsome
运行可选的gitsome
shell 将为您提供自动完成、交互式帮助、鱼式建议、Python REPL 等。
gh
命令运行 GitHub 集成命令:
$ gh <command> [param] [options]
注意:执行gh
命令不需要运行gitsome
shell。安装gitsome
后,您可以从任何 shell 运行gh
命令。
gh configure
命令为了正确地与 GitHub 集成,必须正确配置gitsome
:
$ gh configure
使用-e/--enterprise
标志运行:
$ gh configure -e
在 gh 配置部分查看更多详细信息。
默认情况下, gitsome
会查看以下位置以启用 bash 补全。
要添加其他 bash 补全,请使用 bash 补全的位置更新~/.xonshrc
文件。
如果~/.xonshrc
不存在,则创建它:
$ touch ~/.xonshrc
例如,如果在/usr/local/etc/my_bash_completion.d/completion.bash
中找到其他补全,请在~/.xonshrc
中添加以下行:
$BASH_COMPLETIONS.append('/usr/local/etc/my_bash_completion.d/completion.bash')
您需要重新启动gitsome
才能使更改生效。
gitsome
之外启用gh
Tab 补全您可以在gitsome
shell 完成程序之外运行gh
命令。要为此工作流程启用gh
tab 自动补全,请在本地复制gh_complete.sh
文件。
让 bash 知道当前会话中的gh
命令可以完成:
$ source /path/to/gh_complete.sh
要为所有终端会话启用 Tab 自动补全,请将以下内容添加到bashrc
文件中:
source /path/to/gh_complete.sh
重新加载你的bashrc
:
$ source ~/.bashrc
提示: .
是source
的缩写形式,因此您可以运行它:
$ . ~/.bashrc
zsh
包含一个与 bash 补全兼容的模块。
下载上面的gh_complete.sh
文件并将以下内容附加到您的.zshrc
:
autoload bashcompinit
bashcompinit
source /path/to/gh_complete.sh
重新加载您的zshrc
:
$ source ~/.zshrc
PIL
或Pillow
显示gh me
和gh user
命令的头像将需要安装可选的PIL
或Pillow
依赖项。
Windows* 和 Mac:
$ pip3 install Pillow
*有关头像的限制,请参阅 Windows 支持部分。
Ubuntu 用户,请在 askubuntu 上查看这些说明
gitsome
由xonsh
提供支持,目前不支持 Python 2.x,如本票中所述。
gitsome
已在 Windows 10 上使用cmd
和cmder
进行了测试。
尽管您可以使用标准 Windows 命令提示符,但使用 cmder 或 conemu 可能会获得更好的体验。
命令gh user
和gh me
将始终启用-t/--text_avatar
标志,因为img2txt
不支持 Windows 上的 ansi 头像。
在 Windows 上, .gitsomeconfig
文件可以在%userprofile%
中找到。例如:
C:Usersdmartin.gitsomeconfig
如果您有兴趣为gitsome
做出贡献,请运行以下命令:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ pip3 install -e .
$ pip3 install -r requirements-dev.txt
$ gitsome
$ gh <command> [param] [options]
pip3
如果您在安装时收到错误,提示您需要 Python 3.4+,可能是因为您的pip
命令是针对旧版本的 Python 配置的。要解决此问题,建议安装pip3
:
$ sudo apt-get install python3-pip
请参阅此票以了解更多详细信息。
Travis CI 上提供了持续集成详细信息。
在活动的 Python 环境中运行单元测试:
$ python tests/run_tests.py
在多个 Python 环境中使用 tox 运行单元测试:
$ tox
源代码文档很快将在 Readthedocs.org 上提供。查看源文档字符串。
运行以下命令来构建文档:
$ scripts/update_docs.sh
欢迎贡献!
查看贡献指南,了解有关如何执行以下操作的详细信息:
请随时与我联系讨论任何问题、疑问或意见。
我的联系信息可以在我的 GitHub 页面上找到。
我根据开源许可证向您提供此存储库中的代码和资源。因为这是我的个人存储库,所以您收到的我的代码和资源的许可证来自我,而不是我的雇主 (Facebook)。
Copyright 2016 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.