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.