一个Official Integration对于GitHub和GitHub Enterprise
gitsome
?
为什么Git命令行
虽然标准的Git命令行是管理基于Git的repo的一个很好的工具,但是它可以很难记住这个用法地址为:
- 150多个瓷器和管道命令
- 无数特定于命令的选项
- 标签和分支等资源
Git命令行不与GitHub集成,强制您在命令行和浏览器之间切换
gitsome
-具有自动完成功能的增压Git/GitHub CLI
gitsome
旨在通过专注于以下方面来增强您的标准git/shell界面:
- 提高易用性
- 提高工作效率
深度GitHub集成
并不是所有的GitHub工作流都能在终端中很好地工作;gitsome
试图将目标对准那些这样做的人
gitsome
包括29个与一起使用的GitHub集成命令ALL外壳:
$ gh <command> [param] [options]
跑gh
命令以及Git-Extras和hub解锁更多GitHub集成的命令!
带有交互式帮助的Git和GitHub自动完成程序
您可以运行可选壳牌:
$ gitsome
要启用自动完成和交互式帮助对于以下内容:
- Git命令
- Git选项
- Git树枝、标签等
- Git-Extras commands
- GitHub integration commands
通用自动补全程序
gitsome
自动完成以下内容:
- Shell命令
- 文件和目录
- 环境变量
- 手册页
- python
要启用其他自动完成,请查看Enabling Bash Completions部分
鱼式自动建议
gitsome
支持鱼式自动建议。使用right arrow
完成建议的关键
Python REPL
gitsome
由以下人员提供动力xonsh
,它支持Python REPL
在shell命令旁边运行Python命令:
附加内容xonsh
功能可在xonsh tutorial
命令历史记录
gitsome
跟踪您输入的命令并将其存储在~/.xonsh_history.json
使用向上和向下箭头键循环查看命令历史记录
可自定义的突出显示
可以控制用于突出显示的ansi颜色,方法是更新~/.gitsomeconfig
文件
颜色选项包括:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
对于无颜色,请将值设置为None
white
在某些终端上可能显示为浅灰色
可用的平台
gitsome
适用于Mac、Linux、Unix、Windows,以及Docker
待办事项
并不是所有的GitHub工作流都能在终端中很好地工作;
gitsome
试图将目标对准那些这样做的人
- 添加其他GitHub API集成
gitsome
才刚刚开始。请随意……contribute!
索引
GitHub集成命令
- GitHub Integration Commands Syntax
- GitHub Integration Commands Listing
- GitHub Integration Commands Quick Reference
- GitHub Integration Commands Reference in COMMANDS.md
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
- Option: View in a Pager
- Option: View in a Browser
安装和测试
- Installation
- Developer Installation
杂项
GitHub集成命令语法
用法:
$ gh <command> [param] [options]
GitHub集成命令列表
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 Integration Commands Reference in COMMANDS.md对于详细讨论所有GitHub集成命令、参数、选项和示例
请查看下一节,了解快速参考
GitHub集成命令快速参考
gitsome
配置要与GitHub正确集成,您必须首先配置gitsome
:
$ gh configure
对于GitHub Enterprise用户,使用-e/--enterprise
标志:
$ gh configure -e
列表源
列出您的新闻源
$ gh feed
列出用户的活动摘要
查看您的活动订阅源或其他用户的活动订阅源,也可以选择使用寻呼机-p/--pager
这个pager option可用于许多命令
$ 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
有关过滤和州限定词的更多信息,请访问gh issues
参考位置COMMANDS.md
过滤星级报告
$ 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
有关查询限定符的更多信息,请访问searching issues reference
搜索报告
搜索2015年或之后创建的所有Python repos,>=1000星:
$ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p
有关查询限定符的更多信息,请访问searching repos reference
列出趋势报告和开发人员
查看趋势回购:
$ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser]
查看趋势DEV(目前仅浏览器支持DEV):
$ 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
召唤十月猫
在十月猫那天打电话说出给定的信息或复活节彩蛋:
$ 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
请参阅COMMANDS.md有关所有GitHub集成命令、参数、选项和示例的详细列表
记住这些命令有困难吗?看看手边的autocompleter with interactive help来指导您完成每个命令
注意,您可以将gitsome
与其他实用程序(如Git-Extras
安装
PIP安装
gitsome
托管在PyPI将安装以下命令gitsome
:
$ pip3 install gitsome
您还可以安装最新的gitsome
来自GitHub源,可能包含尚未推送到PyPI的更改:
$ pip3 install git+https://github.com/donnemartin/gitsome.git
如果您没有安装在virtualenv
,您可能需要运行sudo
:
$ sudo pip3 install gitsome
pip3
根据您的设置,您可能还希望运行pip3
使用-H flag
:
$ sudo -H pip3 install gitsome
对于大多数Linux用户来说,pip3
可以使用python3-pip
套餐
例如,Ubuntu用户可以运行:
$ sudo apt-get install python3-pip
看这个ticket有关更多详细信息,请参阅
虚拟环境安装
您可以将Python包安装在virtualenv
要避免依赖项或权限的潜在问题,请执行以下操作
如果您是Windows用户,或者如果您想了解更多有关virtualenv
,看看这个guide
安装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
安装不起作用,您可能默认运行的是Python2。检查您正在运行的Python版本:
$ python --version
如果上面的调用结果是Python 2,请找到Python 3的路径:
$ which python3 # Python 3 path for mkvirtualenv's --python option
如果需要,安装Python 3。调用时设置Python版本mkvirtualenv
:
$ mkvirtualenv --python [Python 3 path from above] gitsome
$ pip3 install gitsome
如果要激活gitsome
virtualenv
稍后再次运行:
$ workon gitsome
要停用gitsome
virtualenv
,运行:
$ deactivate
作为Docker容器运行
您可以在Docker容器中运行gitome,以避免安装Python和pip3
当地的。要安装Docker,请查看official Docker documentation
一旦安装了docker,您就可以运行gitome:
$ docker run -ti --rm mariolet/gitsome
您可以使用Docker卷让gitome访问您的工作目录、本地的.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
壳
启动安装后,运行可选的gitsome
带有交互式帮助的自动完成程序:
$ gitsome
运行可选的gitsome
Shell将为您提供自动完成、交互式帮助、鱼式建议、Python REPL等
gh
命令
正在运行运行GitHub集成命令:
$ gh <command> [param] [options]
注意:运行gitsome
不需要执行外壳程序gh
命令。之后installinggitsome
你可以跑gh
来自任何shell的命令
gh configure
命令
运行要与GitHub正确集成,gitsome
必须正确配置:
$ gh configure
针对GitHub企业用户
使用-e/--enterprise
标志:
$ gh configure -e
要查看更多详细信息,请访问gh configure部分
启用Bash完成
默认情况下,gitsome
查看以下内容locations to enable bash completions
要添加其他bash完成,请更新~/.xonshrc
包含bash完成位置的文件
如果~/.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
要使更改生效,请执行以下操作
gh
在外部完成制表符gitsome
正在启用你可以跑gh
外部的命令gitsome
外壳完成器。要启用gh
此工作流的制表符完成,请将gh_complete.sh
本地文件
让bash知道可以完成gh
当前会话中的命令:
$ source /path/to/gh_complete.sh
要为所有终端会话启用制表符完成,请将以下内容添加到您的bashrc
文件:
source /path/to/gh_complete.sh
重新加载您的bashrc
:
$ source ~/.bashrc
提示:.
是的缩写source
,因此您可以改为运行以下命令:
$ . ~/.bashrc
对于Zsh用户
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 Support有关化身限制的部分
Ubuntu用户,看看这些instructions on askubuntu
支持的Python版本
- Python 3.4
- Python 3.5
- Python 3.6
- Python 3.7
gitsome
由以下人员提供动力xonsh
,它当前不支持Python2.x,如本文中所讨论的ticket
支持的平台
- Mac OS X
- 在OS X 10.10上测试
- Linux、Unix
- 在Ubuntu 14.04 LTS上测试
- 窗口
- 在Windows 10上测试
Windows支持
gitsome
已在Windows 10上进行了测试,cmd
和cmder
虽然您可以使用标准的Windows命令提示符,但使用这两种命令提示符都可能会有更好的体验cmder或conemu
纯文本化身
命令gh user
和gh me
将永远拥有-t/--text_avatar
标志已启用,因为img2txt
不支持Windows上的ANSI头像
配置文件
在Windows上,.gitsomeconfig
文件可在以下位置找到%userprofile%
例如:
C:\Users\dmartin\.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
看这个ticket有关更多详细信息,请参阅
持续集成
有关持续集成的详细信息,请访问Travis CI
单元测试和代码覆盖率
在活动的Python环境中运行单元测试:
$ python tests/run_tests.py
使用运行单元测试tox在多个Python环境中:
$ tox
文档
源代码文档将很快在Readthedocs.org请查看source docstrings
运行以下命令构建文档:
$ scripts/update_docs.sh
贡献
欢迎投稿!
回顾Contributing Guidelines有关如何执行以下操作的详细信息,请执行以下操作:
- 提交问题
- 提交拉式请求
学分
- click通过mitsuhiko
- github_trends_rss通过ryotarai
- github3.py通过sigmavirus24
- html2text通过aaronsw
- img2txt通过hit9
- python-prompt-toolkit通过jonathanslenders
- requests通过kennethreitz
- xonsh通过scopatz
联系信息
请随时与我联系,讨论任何问题、问题或评论
我的联系信息可以在我的GitHub page
许可证
我在开放源码许可下向您提供此存储库中的代码和资源。因为这是我的个人存储库,您获得的我的代码和资源的许可证来自我,而不是我的雇主(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.