GitHub と GitHub Enterprise の公式統合。
gitsome
?標準の Git コマンド ラインは、Git を利用したリポジトリを管理するための優れたツールですが、次の使用法を覚えるのは難しい場合があります。
Git コマンド ラインはGitHub と統合されていないため、コマンド ラインとブラウザを切り替える必要があります。
gitsome
- オートコンプリートを備えたスーパーチャージされた Git/GitHub CLI gitsome
、以下に焦点を当てて、標準の git/shell インターフェイスを強化することを目的としています。
すべての GitHub ワークフローがターミナルで適切に機能するわけではありません。 gitsome
そうする人たちをターゲットにしようとします。
gitsome
すべてのシェルで動作する 29 の GitHub 統合コマンドが含まれています。
$ gh <command> [param] [options]
Git-Extras および Hub コマンドとともにgh
コマンドを実行すると、さらに多くの GitHub 統合が可能になります。
オプションのシェルを実行できます。
$ gitsome
以下のオートコンプリートと対話型ヘルプを有効にします。
gitsome
以下をオートコンプリートします。
追加のオートコンプリートを有効にするには、「Bash 補完の有効化」セクションを確認してください。
gitsome
Fish スタイルの自動提案をサポートしています。 right arrow
キーを使用して提案を完了します。
gitsome
、Python REPL をサポートするxonsh
を利用しています。
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
タブ補完を有効にする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 Integration Commands Reference」を参照してください。
クイック リファレンスについては、次のセクションを参照してください。
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
まだ PyPI にプッシュされていない変更を含む可能性がある最新のgitsome
GitHub ソースからインストールすることもできます。
$ 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
詳細については、このチケットを参照してください。
Python パッケージをvirtualenv
にインストールすると、依存関係や権限に関する潜在的な問題を回避できます。
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
autocompleter を実行します。
$ gitsome
オプションのgitsome
シェルを実行すると、オートコンプリート、インタラクティブなヘルプ、Fish スタイルの提案、Python REPL などが提供されます。
gh
コマンドの実行GitHub に統合されたコマンドを実行します。
$ gh <command> [param] [options]
注: gh
コマンドを実行するためにgitsome
シェルを実行する必要はありません。 gitsome
インストールすると、どのシェルからでもgh
コマンドを実行できるようになります。
gh configure
コマンドの実行GitHub と適切に統合するには、 gitsome
適切に構成する必要があります。
$ gh configure
-e/--enterprise
フラグを指定して実行します。
$ gh configure -e
詳細については、「ghconfigure」セクションを参照してください。
デフォルトでは、 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
タブ補完を有効にするgitsome
シェル コンプリーターの外部でgh
コマンドを実行できます。このワークフローでgh
タブの補完を有効にするには、 gh_complete.sh
ファイルをローカルにコピーします。
現在のセッション内でgh
コマンドの補完が可能であることを bash に知らせます。
$ source /path/to/gh_complete.sh
すべてのターミナル セッションでタブ補完を有効にするには、以下を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
を利用していますが、xonsh は現在 Python 2.x をサポートしていません。
gitsome
cmd
およびcmder
を使用して Windows 10 でテストされています。
標準の Windows コマンド プロンプトを使用することもできますが、cmder または conemu を使用したほうがより良いエクスペリエンスを得ることができるでしょう。
Windows ではimg2txt
ANSI アバターをサポートしていないため、コマンドgh user
およびgh me
常に-t/--text_avatar
フラグが有効になります。
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 で入手できるようになります。ソースの docstring を確認してください。
次のコマンドを実行してドキュメントを構築します。
$ 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.