2022-06-19 Version mismatch between git-completion & git
私は Bash ユーザーなのですが、以前から自分の環境で git-completion が動いている環境とそうでない環境があってちょっとモヤモヤしていました。条件・環境は以下の通りです。
-
bash 環境: 様々(Mac OS X, Linux 主に Debian, WSL2 on Windows, etc.)
-
git: 基本的には各環境の standard package manager
-
git-completion: 欲しくなった時に自分で
~/.bash_completion.d
にwget
結論から言うと、git-completion.bash はgitのversionに依存している場合がある(当たり前)ので、組み合わせが大事ということでした。
直近のケースでは、 WSL2 (Debian) on Windows で、最新の git-completion.bash
が git 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: