要旨
コマンド
gh repo create --source $(git rev-parse --show-toplevel) --private
を実行すると、ローカルの Git リポジトリと同名の GitHub リポジトリを作成し、リモートリポジトリ origin
に設定することができます。
ローカルリポジトリを作ってから GitHub リポジトリを作る
Git/GitHubで新規にプロジェクトを開始するとき、まず GitHub リポジトリを作成してからローカル環境にクローンする人が多いでしょうか?
私はちょっとした技術検証などでカジュアルに新しい Git リポジトリを作るのですが、そのようなときにとりあえずローカルでリポジトリを作成し、少し作業を進めてから GitHub にリモートリポジトリを作るということがよくあります。
例えばローカル環境の適当な場所に examplerepo
という Git リポジトリを作成して、そこに移動したとします。
git init examplerepo
cd examplerepo
このとき、examplerepo
という名前の GitHub リポジトリを作成し、それをリモートリポジトリとして設定するという作業が必要になります。
普通に GitHub のサイト上でリポジトリを作成してURLをコピーし、git remote add origin <リモートURL>
としても良いのですが、もっとシンプルな方法があります。
コマンド
それがこのコマンドです:
gh repo create --source $(git rev-parse --show-toplevel) --private
ここで gh
は GitHub CLI のコマンドです。
これはあらかじめインストールしておく必要があります。
--source
オプションでローカルにあるGitリポジトリの場所を指定しています。
実は、以前は単に gh repo create
と打てば同じことができていたのですが、GitHub CLI バージョン 2.3.0 からは --source
オプションが必要になりました。
--private
オプションは GitHub リポジトリをプライベートにするための設定です。パブリックにしたい場合はこのプションを --public
に変えます。
エイリアス
コマンドを覚えるのは大変なので、私は Git 設定ファイルで次のようにエイリアスを設定しています。
[alias]
create-remote = "!f() { gh repo create -s $(git rev-parse --show-toplevel) --private; }; f"
こうしておくと、同じ操作が
git create-remote
のコマンドでできるようになります。