はじめに
バックアップをとらずに 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
ログイン時に選んだ選択肢は次の通りです。
- What account do you want to log into?:
GitHub.com
- What is your preferred protocol for Git operations on this host?:
HTTPS
- Authenticate Git with your GitHub credentials?:
Yes
- How would you like to authenticate GitHub CLI?:
Login with a web browser
このように選択すると、ターミナル上に8桁ほどの認証コードが表示されます。
Enter キーを押すとブラウザが開き、GitHub の認証画面が表示されるため、そこに認証コードを入力すればログインが完了します。
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 Zsh は Zsh をカスタマイズ/管理するためのプラグインで、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 コマンドとその補完を無事にインストールできてよかったです。
参考
- Git - ZshでGitを使う
- ohmyzsh/ohmyzsh: 🙃 A delightful community-driven (with 2,300+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.