背景及び実現したいこと
hubコマンドにはbrowseというサブコマンドがある。
このサブコマンドは、リポジトリの上に存在するときに対応するgithubのリポジトリをブラウザで表示してくれるものである。
ただしプライベートリポジトリなどの場合は当然ながらユーザ名およびパスワードが聞かれる。
$ hub browse
github.com username: YOUR_NAME
github.com password for YOUR_NAME(never stored):
※上記および以降で出現する文字列 YOUR_NAME
と YOUR_PASSWORD
は各々のgithubのユーザ名およびパスワードに変換してください。
この入力を省略する方法が無いか調べた。
方法
hubのマニュアルに2パターン書かれていたので紹介する
方法1. $HOME/.config/hub を作成する
hub用の設定フィアルを作る。
参考:https://github.com/github/hub/issues/225#issuecomment-414630699
github.com:
- user: YOUR_NAME
oauth_token: YOUR_PASSWORD
protocol: https
方法2. 環境変数を使う
環境変数 GITHUB_USER
と GITHUB_PASSWORD
を設定しても良い(らしい)。
$ export GITHUB_USER="YOUR_NAME"
$ export GITHUB_PASSWORD="YOUR_PASSWORD"
上記で「らしい」と書いた理由は、環境変数でユーザ名とパスワードを指定して動作させたが、下記のようなコメントが出力されブラウザが開かなかったためである。多分何か自分がミスしているのだと思うが現時点では真因がわかっていない。
$ export GITHUB_USER="n-hachi"
$ export GITHUB_USER="MY_PASSWORD" # 正式な文字列ではない
$ hub browser
Error in browse: Not Found (HTTP 404)
Not Found
まとめ
少なくとも $HOME/.config/hub
を作成したら意図通りブラウザで開くことができた。
上でも書いたが環境変数の方はなにか間違っていると思うので追加で調べる。もしくは指摘があればコメントください。