LoginSignup
0
0

More than 3 years have passed since last update.

GUIが使えない環境でghコマンドを使えるようにする方法

Posted at

1行で

personal access tokenを作成して、config.ymlを手動で作成する

詳しく

repositoryとgistの権限のあるpersonal access tokenを作成

  1. https://github.com/settings/tokens/ にアクセスする
  2. repositoryとgistの権限を選択する(下記の画像参照) スクリーンショット 2020-06-07 16.42.08.png
  3. generate token ボタンを押下する
  4. 生成される token をコピーしておく。 config.yml を作成するときに使います。

config.ymlを gh repositoryを参考に手動で作成する

  1. フォルダを作成する

    mkdir -p ~/.config/gh/
    
  2. config.yml のフォーマットを gh のレポジトリで確認する
    スクリーンショット 2020-06-07 16.47.46.png

  3. config.yml をeditorで開く

    vi ~/.config/gh/config.yml
    
  4. config.yml を上記のフォーマットを参考に作成する

    hosts:
      github.com:
        user: your_github_username
        oauth_token: your_token # (直前の手順で生成した personal access token を貼ってください)
    
  5. 適当なディレクトリで動作確認(エラーが出なければOK)

    gh pr status
    

どうやってこの方法に至ったか

  1. guiが使えない環境で認証しようとすると以下のようなメッセージが表示された。

    If you are on a server or other headless system, use this workaround instead:  1. Complete authentication on a GUI system  2. Copy the c
    ontents of ~/.config/gh/config.yml to this systemthe access token could not be read from HTTP response
    
  2. なるほど。なんかわからんが、 ~/.config/gh/config.yml をうまく生成してやればいいのねとわかった。

  3. あとはそのフォーマットと内容が判断できれば良い。
    フォーマットは gh のレポジトリ を見に行くと、めっちゃテストしてあってすぐわかった。(githubの人たちちゃんとしてるなー。)

  4. 最後に権限はこれまたテスト内容を見に行くとrepositoryとgistの権限をテストしているので、この2種類さえあれば良いとわかる。

  5. 今回の手順が判明。(若干パズル説いてる感があって面白かったのと、エンジニアだからソース読みに行ったらちゃんと分かるんだなと言う気持ちになった。)

謝辞

GUIが使えない環境でのghコマンドの認証方法 も参照させてもらった。
ただ、私の手元ではうまくいかなかった。より確実な方法を見つけたので載せる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0