2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

gitのセキュリティー問題のため、macのgitのバージョンupdate

Last updated at Posted at 2020-04-21

最近
Xcode 11.4.1 より前のバージョンでcredential helperの脆弱性によりgitの認証情報が漏えいする可能性があります。
という情報を見つけた。
参照)https://at-virtual.net/securecoding/%E3%80%90poc%E3%81%82%E3%82%8A%E3%80%91cve-2020-5260-xcodemac%E7%89%88%E3%81%ABgit%E3%81%AE%E8%AA%8D%E8%A8%BC%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%96%E5%BE%97%E3%81%95%E3%82%8C%E3%82%8B%E8%84%86/

自分はすでにXcodeを最新バージョンにアップデートしているが、結局gitのセキュリティーの問題なので、gitのバージョンも上げる必要がある。
それで自分のgitのバージョンを調べて見た。

➜  /Volumes git --version
git version 2.24.2 (Apple Git-127)

現在(2020/04/22)時点でgitの最新バージョンは2.26.2
バージョンが古いのでgitのアップデートをしたい。

macでgitの種類

結論から言うと、mac環境でgitを使うためには、3つの方法があって、それぞれupdate方法が異なる。

  1. xcodeに含まれているgitと使う → updateできない。公式ホームページからファイルをダウンロードして再度インストールするしかない。
  2. 公式ホームページからファイルをダウンロードしてインストールする → updateできない。公式ホームページからファイルをダウンロードして再度インストールするしかない。
  3. Homebrewでinstallしたgitを使う → brew update && brew upgrade コマンドを叩いてupdate

自分の現在gitがどちらから来ているのかがわからないならターミナルでwhich gitコマンドを叩いて確認できる。

➜  /Volumes which git
/usr/bin/git

自分は1. xcodeに含まれているgitなので/usr/bin/gitのディレクトリーが出ている。
Homebrewでinstallしている場合は/usr/local/bin/gitのディレクトリーが出る。
このgitをupdateするためHomebrewからgitをinstallすることにした。

Homebrewでgitをinstall

➜  /Volumes brew update && brew install git

ターミナルで上記のコマンドを叩く
そうしてもう1回which gitを叩くと

➜  /Volumes which git
/usr/bin/git

あれ?まだxcodeのgitのまま
Homebrewでinstallしたgitにする適用されていない。

Homebrewでinstallしたgitの適用方法

1. Homebrewのリンクを貼り直す

Homebrewでインストールされたパッケージはその実体が /usr/local/Cellar に、そのリンクが /usr/local/binにそれぞれ保存されている。
そのリンクを貼り直して、ターミナルを再起動するとmacはHomebrewでinstallしたgitに認識する。

➜  ~ brew unlink git && brew link git
Unlinking /usr/local/Cellar/git/2.26.2... 206 symlinks removed
Linking /usr/local/Cellar/git/2.26.2... 206 symlinks created

を叩いて、ターミナルを再起動した後、which gitを叩いて確認する。

➜  ~ which git
/usr/local/bin/git

Homebrewのgitのディレクトリーが出ている。成功。

2. 環境変数を指定する

bashの環境設定ファイルにHomebrewのgitのPATHを登録する。
mac osのcatalinaの場合、デフォルトシェルがzshになっているので、ホームディレクトリから設定ファイル.zshrcを探す。ない場合には作る。
catalina以前のバージョンの場合、bashシェルのなので.bash_profileにする。

.zshrcに下記のPATHを登録して、ターミナルを再起動する。

export PATH="/usr/local/git/bin:$PATH"

再起動した後、which gitを叩いて確認する。

➜  ~ which git
/usr/local/bin/git

成功。

gitのバージョン確認

➜  ~ git --version
git version 2.26.2
2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?