由于git的安全问题,需要更新mac上的git版本
最近发现了关于 Xcode 11.4.1 之前版本存在凭证助手漏洞的信息,可能导致 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有三种方法,每种方法的更新方式各不相同。
1. 使用包含在Xcode中的git → 无法更新。只能从官方网站下载文件并重新安装。
2. 从官方网站下载文件并安装 → 无法更新。只能从官方网站下载文件并重新安装。
3. 使用通过Homebrew安装的git → 使用”brew update && brew upgrade”命令来更新。
如果不知道自己当前使用的Git是从哪里来的,可以在终端中输入”which git”命令来进行确认。
➜ /Volumes which git
/usr/bin/git
因为它包含在Xcode中,所以我使用的是/usr/bin/git目录。
如果使用Homebrew进行安装,则会显示/usr/local/bin/git目录。
为了更新这个git,我决定从Homebrew安装git。
使用Homebrew安装git
➜ /Volumes brew update && brew install git
在终端中输入上述命令,然后再输入一次“which git”。
➜ /Volumes which git
/usr/bin/git
哎?Xcode的git还没被应用,Homebrew安装的git还没生效。
使用Homebrew安装的git的应用方法。
重新链接Homebrew的链接。
通过Homebrew安装的软件包的实体保存在/usr/local/Cellar,其链接保存在/usr/local/bin。
重新建立这些链接并重新启动终端后,Mac会识别通过Homebrew安装的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
自制的git目录已出现。成功。
2. 设定环境变量
在bash的环境设置文件中注册Homebrew下载的git的路径。
对于Mac OS Catalina,默认的shell是zsh,所以从主目录中查找.zshrc配置文件。如果没有找到,则创建它。
对于Catalina之前的版本,使用bash作为shell,所以需要创建.bash_profile文件。
在.zshrc中添加以下路径,并重新启动终端。
export PATH="/usr/local/git/bin:$PATH"
重启后,输入 “which git” 进行确认。
➜ ~ which git
/usr/local/bin/git
顺利达成目标。
查询git的版本
➜ ~ git --version
git version 2.26.2