less than 1 minute read

私は Bash ユーザーなのですが、以前から自分の環境で git-completion が動いている環境とそうでない環境があってちょっとモヤモヤしていました。条件・環境は以下の通りです。

結論から言うと、git-completion.bash はgitのversionに依存している場合がある(当たり前)ので、組み合わせが大事ということでした。

直近のケースでは、 WSL2 (Debian) on Windows で、最新の git-completion.bashgit 2.11.0 で動かなかったので、近そうな https://github.com/git/git/blob/v2.11.4/contrib/completion/git-completion.bash をダウンロードして解決できました。

$ git --version
git version 2.11.0

$ cd ~/.bash_completion.d/
$ wget 'https://raw.githubusercontent.com/git/git/v2.11.4/contrib/completion/git-completion.bash'

git-completion.bash をダウンロードしなおしたり、package manager からのもので置き換えたりすると動くことがあるなー、くらいには思っていて、なにが根本なのか確認していなかっただけではあるのですが、

を見かけて、ハタと腹落ちした次第でした。

関連する記事などはチラ見はしていましたが、再インストール・何らかのupgradeで解決してしまうケースが多かったのでちゃんと考えていませんでした orz

以下のようなissueも見ていましたが、基本は新しい git version に git-completion.bash を対応させるということだったので、なんとなく最新ならいいのかなって思ってしまい。。

Other references:

Updated: