GitHubCLIを利用してワンライナーでリポジトリ作成

GitHub便利ですよね。私はなにかコードを書くときはリポジトリを作ってその中で管理しています。ちゃんとした管理になっていないのはまだまだ勉強しなければなりませんが。

ブラウザでいちいちポチポチリポジトリ作るのめんどくさくないですか?
GitHubCLIというものがあります。

使ってみましょう

GitHubCLI

インストール

公式ページに書いてあります。
MacはBrewでインストール出来ます

brew install gh

認証

インストールしたら認証をします。

gh auth login

リポジトリを作成

gh repo create repo_nameという形で利用出来ます。

gh repo create flutter_tutorial
? Visibility Public
? This will create 'flutter_tutorial' in your current directory. Continue?  Yes
✓ Created repository t-sakurai816/flutter_tutorial on GitHub
? Create a local project directory for t-sakurai816/flutter_tutorial? No

これを利用して、リポジトリを作成, VScodeで開くをワンライナーでやってみます。

シェルの設定

私が利用しているシェルはfishなのでbash,zshとは書き方が違うかもしれません。 configのファイルは~/.zsh_historyとかかもしれません

私はホームディレクトリ直下にGitHubのフォルダをエイリアスで登録しています。
そのため~/GitHubは適宣変えてください。

fishのconfを開く
$ vim ~/.config/fish/config.fish

以下を追記します。

 # GitHub CLIでリポジトリを作成して、VScodeで開く
 function ghcr
  cd ~/GitHub
  gh repo create $argv #リモートリポジトリ作成
  cd $argv[1] #ディレクトリ移動
  echo "# $argv[1]" >> README.md
  git init
  git add README.md
  git commit -m "first commit"
  git branch -M main
  git remote add origin git@github.com:t-sakurai816/$argv[1].git
  git push -u origin main
  code ~/GitHub/$argv[1] #VScodeを開く
 end

書いたら読み込みます

$ source ~/.config/fish/config.fish

実行

以下のコマンドを実行すると、GitHub上にリポジトリを作成し、指定のディレクトリにローカルリポジトリを作成。その後git init ~ git pushまでやってくれます!

repo_nameをリポジトリの名前、descriptionをリポジトリの説明にしてください。

プライベートリポジトリが良い人は--publicを–privateにします。

$ ghcr repo_name -y  --public -d 'description'

最高です!!