こんにゃくの勉強記

プログラミング好きなとある大学生の勉強メモ的な、日記的なものです

【git / gh / Oh My Zsh】Mac でのインストールから補完の設定まで(自分用メモ)

はじめに

バックアップをとらずに OS を再インストールしたため、全てが消えてしまいました。

この機会に、インストールしたものの種類や方法を全てメモすることにしました。

まずは Git / GitHub からです。

環境

環境は次の通りです。

macOS Sonoma ver.14.4.1
Apple M2 Chip
Homebrew 4.2.17
zsh 5.9

パッケージの管理には Homebrew を用いています。

インストール

gh

まずは gh をインストールします。

brew install gh

インストールが完了したら、ログインします。

gh auth login

ログイン時に選んだ選択肢は次の通りです。

  1. What account do you want to log into?: GitHub.com
  2. What is your preferred protocol for Git operations on this host?: HTTPS
  3. Authenticate Git with your GitHub credentials?: Yes
  4. How would you like to authenticate GitHub CLI?: Login with a web browser

このように選択すると、ターミナル上に8桁ほどの認証コードが表示されます。

Enter キーを押すとブラウザが開き、GitHub の認証画面が表示されるため、そこに認証コードを入力すればログインが完了します。

これで、GitHub CLI が使用できるようになります。

gh のインストール時に git もインストールされるようで、gh をインストールしただけで git コマンドも使用できるようになっていました。

試しに、適当なプライベート GitHub リポジトリを clone すると、無事に clone されました。

便利設定

git/gh コマンドの補完

git コマンド補完(公式の方法)

結局私は Oh My Zsh というフレームワークで補完を行うことにしたのですが、公式の紹介している方法も見つけたため、書き残しておきます。

「git 補完」で調べると色々な方法がヒットして、どれを使えばいいのかわからなくなるのですが、公式ドキュメントの方法だと一発で成功しました。

~/.zshrc に次の1行を追加します。

autoload -Uz compinit && compinit

~/.zshrc を再読み込みすれば、git コマンドに補完が効くようになります。

そういえば Git の公式ドキュメントを見に行ったことがほぼなかった気がします。これからは積極的に見に行こうと思いました。

Oh My Zsh

先ほど紹介した方法が載っている Git 公式のページでも紹介されている、Oh My Zsh というフレームワークを導入します。

Oh My ZshZsh をカスタマイズ/管理するためのプラグインで、git や gh など、さまざまなコマンドの補完が充実しています。

git プラグインはデフォルトで入っており、Oh My Zsh をインストールするだけで使うことができます。

Oh My Zsh 公式リポジトリを見ながらインストールしていきます。

まずは、curl などを使い Oh My Zsh をインストールします。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

すると、今までの ~/.zshrc~/.zshrc.pre-oh-my-zsh という名前に置き換えられ、新しく Oh My Zsh によって ~/.zshrc が生成されます。

引き継ぎたい設定がある場合は、~/.zshrc.pre-oh-my-zsh から ~/.zshrc に移しましょう。

私は Pyenv や pipx の設定を移しました。

次に、プラグインの設定を行います。

導入したいプラグインを、~/.zshrc に以下のように記述します。

ここでは、git と gh だけ記述しておきます。

plugins=(
    git 
    gh
)

他に使用したいプラグインがある場合は、公式リポジトリの plugins フォルダから探せるようです。

プラグインはコンマでなく空白(スペースやタブ、改行など)で区切る必要があるため、気をつけてください。

インストールして頂けばわかるかと思うのですが、非常に使い勝手が良さそうです。もっと早く知りたかった...

終わりに

今回初めて Oh My Zsh の存在を知ったのですが、git や gh に限らず本当に色々なプラグインを追加できそうです。

Git の補完方法は情報があまりまとまっておらず、設定する難易度が高いイメージがありました。

Zsh 限定にはなりそうですが、このような使い勝手のいいフレームワークを見つけることができて本当に嬉しいです。

git / gh コマンドとその補完を無事にインストールできてよかったです。

参考