ナンモワカランアザラシ

技術的なアレコレを自分の言葉で書いて保管・公開しておくための静かなインターネット

リモートと同期したローカルのgithubリポジトリを一発で作るコマンドを作った

fishスクリプトで書いた。

github.com

function ghq-create --argument repo_name 
  gh repo create $repo_name --public
  ghq get "git@github.com:"(git config user.name)"/"$repo_name".git"
  cd (ghq root)"/github.com/"(git config user.name)"/"$repo_name
end

基本的にgitリポジトリghqで管理している。 ローカルにしかリポジトリがない状況が嫌なので常にリモートリポジトリが存在していてほしい。 これまでは次の手順でリポジトリを用意していた。

  1. GitHubリポジトリを作成
  2. ghq get $repo_url
  3. リポジトリディレクトリに移動

めんどいのでghコマンドを使って、この流れを一発で実行するようにした。 gh repo createはリモートにリポジトリを作るコマンド。 ghq getはリモートリポジトリを適切な場所にcloneするコマンド。 cdディレクトリを移動するコマンド。

fishスクリプトにも慣れてきた。