githubをコマンド操作!github cliを使ってみました
githubをコマンドで操作するためのツールが、最近リリースされたみたいだったので使ってみました。
githubに繋げて、リポジトリを作成したり、クローンしたりしてみています。
cliで操作するにはhubコマンドという非公式コマンドもあるらしいですね。。使ったことない..😲
GitHub CLI 1.0 is here 🎉
Take GitHub to the command line and interact with repositories, issues, pull requests, releases, and more.
✓ Free and open source
✓ Available for macOS, Windows, Linux
✓ GitHub Enterprise Server supportedDownload it now: https://t.co/sWwgXttURj pic.twitter.com/JDTcsumffm
— GitHub (@github) September 17, 2020
初期設定
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を操作したりするコマンドがあるようなので、少しずつなれて使っていきたいです..
コメント