はじめに
gitの補完を以前に設定していて、ある日急に使えなくなることがある。
使えなくなるケースとしては主に
- gitのバージョンアップ
- MacOSのバージョンアップ
のいずれかが原因であり、実態は補完用スクリプトのシンボリックリンクが切れたりしていることが実際に補完が効かなくなっている原因である。
今回自分はCatalinaにアップグレード後に補完が効かなくなった。
解決策
そもそも補完のためには次のように.bashrc
へ設定しているはずである。
#~/.bashrc source /usr/local/etc/bash_completion.d/git-prompt.sh source /usr/local/etc/bash_completion.d/git-completion.bash
上記の2ファイルはシンボリックリンクで、実態は次の2ファイルを参照している。
/usr/local/Cellar/git/<version>/etc/bash_completion.d/git-completion.bash /usr/local/Cellar/git/<version>/etc/bash_completion.d/git-prompt.sh
なのでまずは上記の実態が正しく存在しているかを確認する。おそらくであるが、実態がなくなっているかシンボリックリンクのリンク先が古いgitバージョンのままになっているので以下のような感じで更新すればいい。
$ ln -nfs /usr/local/Cellar/git/2.25.0_1/etc/bash_completion.d/git-prompt.sh /usr/local/etc/bash_completion.d/git-prompt.sh $ ln -nfs /usr/local/Cellar/git/2.25.0_1/etc/bash_completion.d/git-completion.bash /usr/local/etc/bash_completion.d/git-completion.bash
これで再度.bashrcを起動すればうまく動くはずである。