githubをコマンド操作!github cliを使ってみました

Git

githubをコマンド操作!github cliを使ってみました

githubをコマンドで操作するためのツールが、最近リリースされたみたいだったので使ってみました。
githubに繋げて、リポジトリを作成したり、クローンしたりしてみています。

cliで操作するにはhubコマンドという非公式コマンドもあるらしいですね。。使ったことない..😲

初期設定

githubにログインする

リポジトリをブラウザで表示するコマンドを実行すると、ログインしろ…
と言われたので、表示されたコマンドでログインします。

$ gh repo view --web
Welcome to GitHub CLI!

To authenticate, please run `gh auth login`.

gh auth loginコマンドを実行すると、

? What account do you want to log into? GitHub.com

GitHub.comかGitHub Enterprise Serverを選ぶことになるので、どちらかを選びます。(GitHub.comを選びました)

次に、どうやって認証するかを聞かれます。

? How would you like to authenticate?

認証トークンを貼り付けるか、ブラウザでログインするか聞かれるので、選びます(今回はブラウザログインを選びました)

その後に、エンターを押すと、ブラウザでログイン画面が開きます。

開いた画面に、表示されたコードを入れて、ログインすると…

下記画面が出てブラウザ側での操作は完了します。

$ gh auth login
? What account do you want to log into? GitHub.com
- Logging into github.com
? How would you like to authenticate? Login with a web browser

! First copy your one-time code: XXX1-XXX2
- Press Enter to open github.com in your browser... 

プロトコルを選ぶように言われるので、HTTPSまたはSSHから選ぶとログインが完了します。

? Choose default git protocol HTTPS
- gh config set -h github.com git_protocol https
✓ Configured git protocol
✓ Logged in as HogeName

gh authコマンド

githubに接続する(gh auth login)

上記でやっているように、githubに接続するときに使います。

gh auth login

githubからログアウトする(gh auth logout)

接続したアカウントからログアウトするときに使います。

gh auth logout

gh repoコマンド

リポジトリ情報の表示(gh repo view)

リポジトリ情報が確認できます。
github管理しているリポジトリ配下で下記コマンドを実行するとブラウザでそのリポジトリを開いてくれます。

gh repo view --web

オプションなしで、実行するとリポジトリのURLとREADME.mdの内容が表示されます。

gh repo view

実行すると、こんな感じです。

$ gh repo view
YasuakiHirano/codelike_bbs
easy bbs made with laravel

   codelike bbs                                                               

  laravelで作成した掲示板です! laravel 5.8で動いています。                   

-- 省略 -- 
View this repository on GitHub: https://github.com/YasuakiHirano/codelike_bbs

リポジトリのクローン(gh repo clone)

ログインしているユーザーのリポジトリ名だけで、リポジトリがクローンできます。

gh repo clone [リポジトリ名]

実行すると、こんな感じです。

$ gh repo clone poc-golang
Cloning into 'poc-golang'...
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 23 (delta 6), reused 20 (delta 3), pack-reused 0
Unpacking objects: 100% (23/23), done.

リポジトリの作成(gh repo create)

コマンドでgithubのリポジトリ作成ができます。

gh repo create [リポジトリ名]

実行すると、こんな感じです。
リポジトリ名を入れて実行すると、Public / Private / Internalから公開タイプを選ぶように言われます。

gh repo create testrepo
? Visibility  [Use arrows to move, type to filter]
  Public
> Private
  Internal

作成すると、現在のディレクトリにリポジトリのディレクトリを作成するかなど聞かれるので、選ぶと、作成されます。

? Visibility Private
? This will create 'testrepo' in your current directory. Continue?  Yes
✓ Created repository YasuakiHirano/testrepo on GitHub
? Create a local project directory for YasuakiHirano/testrepo? Yes

終わりに

コマンドだけで、操作できるのはラクでいいですね😄
今回使ったコマンド以外にもpull requestを作ったり、マージしたり、issueに対するコマンドだったり
gistを操作したりするコマンドがあるようなので、少しずつなれて使っていきたいです..

コメント

タイトルとURLをコピーしました