如何在 macOS 上将 Git 升级到最新版本?

     2023-02-25     228

关键词:

【中文标题】如何在 macOS 上将 Git 升级到最新版本?【英文标题】:How to upgrade Git to latest version on macOS? 【发布时间】:2012-02-15 23:45:04 【问题描述】:

我刚买了一台装有 OS X Lion 的新 Mac,我在终端中检查了默认安装的 git 版本。我得到了答案

git --version
> git version 1.7.5.4

我想将 git 升级到最新版本 1.7.8.3,所以我下载了 dmg 安装程序“git-1.7.8.3-intel-universal-snow-leopard.dmg”并启动了它。

安装后,终端仍然显示版本是1.7.5.4。我做错了什么?

【问题讨论】:

键入 which git 以查看二进制文件的位置。那是你安装新的那个地方吗? 上面写着/usr/bin/git 是 1.7.5.4,但是我怎么知道 DMG 在哪里安装了新版本?为什么它不会自动升级/覆盖以前的版本?如果我想使用新版本,如何将git 命令链接到新版本? (顺便感谢您的快速回答!) 在我的 mac (os 10.6.8) 上,旧的 git 1.7.5.4 位于 /usr/bin/git 中,而新的 git 安装程序 1.7.11.3 将 git 放入 /usr/local/ 我想知道superuser.com/a/580611/74576 是否是一个好方法。我希望我能弄清楚它的命令。 我在 .bash_profile 而不是 .bashrc 中输入了条目,它起作用了。我认为如果您的终端作为“默认登录外壳”运行,那么它会发生。 【参考方案1】:

如果您已经拥有 Homebrew,这很简单: 假设您已安装自制软件,请输入以下内容:

brew install git

这应该会自动安装 git 并将其设置在您的路径中,替换 Apple 路径。

现在退出并重新启动您的终端。

然后查看git版本确认。

git --version

如果上述命令的输出显示的是最新版本,并且没有在版本详细信息中提及 Apple,那么您就大功告成了。

如果您仍然看到苹果版本,请输入以下两行,这将手动设置我们的路径到本地 git 发行版而不是 Apple 版本。

export PATH=/usr/local/bin:$PATH
git --version

如果您没有自制软件,请按照以下步骤操作

检查版本

$ git --version

备份(或删除)Apple git(可选)

$ sudo mv /usr/bin/git /usr/bin/git-apple

如果没有,请安装 Homebrew

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果你已经有的话就更新

$ brew update && brew upgrade

使用 Homebrew 安装 Git

$ brew install git

符号链接

$ brew link --force git

退出终端并打开一个新终端,然后检查版本。

$ git --version

你应该看到...

git version <latest version>

不错!我们现在安全了!下次你可以……

$ brew update && brew upgrade

【讨论】:

关于 sudo mv /usr/bin/git /usr/bin/git-apple:重命名系统 git 将无法在 macOS El Capitan 及更高版本上运行,除非您按照此处 apple.stackexchange.com/a/248229/16290 的说明禁用系统完整性保护。就我个人而言,我只是更新我的PATH,以便/usr/local/bin 出现在/usr/bin 之前。这样 Homebrew 的 git 总是优先(在你关闭终端并重新打开之后)。对于 git 安全漏洞,Apple 最终将使用其安全更新更新捆绑的 git。同时,可以通过配置 PATH 来避免使用内置的 git。 我根本不需要进行路径导出——brew 自动处理了这一切 我实际上必须brew upgrade git,因为我已经安装了git export PATH=/usr/local/bin:$PATH 为我工作。谢谢。 谢谢@NateCook。终于得到了我想要的东西。【参考方案2】:

如果你添加可能会更好:

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

到您的主文件夹中名为 .bashrc 的文件。这样,您可能会在/usr/local/git/bin 中安装的任何其他软件也将首先被找到。

要简单地执行此操作,只需键入:

echo "export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH" >> ~/.bashrc

进入终端,它会为您完成。

【讨论】:

就像 README.txt 说的,git 安装到 /usr/local/git。 kmikael 的实用技巧仅适用于 bash。 (要更改 mac 默认 shell 解锁系统首选项中的帐户或“用户和组”窗口,请按住 control 并单击帐户以获取“高级选项”。)使用 bash_profile 而不是 bashrc 的建议,例如echo 'export PATH="/usr/local/git/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile 位于 moncefbelyamani.com。关于是否添加到 .bash_profile 或 .bashrc 的讨论在 superuser.com 你用什么来安装git?我刚查了最新版本,官方安装程序here将git安装到/usr/local/git/bin/git,也就是说上面的方法在10.8.4上应该还是可以的。 感谢@miker,它对我有用 .bash_profile,但不适用于 .bashrc。 我没有选中这个解决方案,即使它有效。请阅读我的消息更新以获得解释。【参考方案3】:

如果使用自制软件,您可以使用

更新 sim 链接
brew link --overwrite git

【讨论】:

我尝试了以上所有其他答案,这就是最终让我使用最新版本的 git 的原因。运行brew install git 让我获得了最新版本,但它没有正确设置符号链接。运行brew link git 给了我一个错误,说它无法对 git 进行符号链接,因为它已经存在。终于运行 brew link --overwrite git 把钉子放在棺材里,所以现在 git --version 表明我正在使用最新版本的 git 完美运行!其他解决方案安装新版本,但当我从git --version检查时不更新【参考方案4】:

对我来说,使用Homebrew 1.6.7,以下工作:

brew upgrade git

【讨论】:

从今天开始使用 macOS Cataline (10.15.6),这一行代码就可以工作了。要验证版本,只需重新启动终端。它只是覆盖了 Apple 版本的 git。【参考方案5】:

我使用以下内容在 mac 上升级 git。

hansi$ brew install git 

hansi$ git --version 
git version 2.19.0


hansi$ brew install git
Warning: git 2.25.1 is already installed, it's just not linked
You can use `brew link git` to link this version.

hansi$ brew link git 
Linking /usr/local/Cellar/git/2.25.1... 
Error: Could not symlink bin/git
Target /usr/local/bin/git
already exists. You may want to remove it:
  rm '/usr/local/bin/git'

To force the link and overwrite all conflicting files:
  brew link --overwrite git

To list all files that would be deleted:
  brew link --overwrite --dry-run git

hansi$ brew link --overwrite git 
Linking /usr/local/Cellar/git/2.25.1... 205 symlinks created


hansi$ git --version
git version 2.25.1

【讨论】:

在我的情况下,我已经安装了 git,我使用下载了较新版本的自制软件再次安装,但没有正确链接。我最终需要手动取消链接,然后重新链接然后它工作。我还需要重新打开我的终端会话,以便它找到新版本而不是旧/系统版本:brew unlink git && brew link git && source ~/.bashrc 可以使用升级命令 (brew upgrade git) 将 Git 从 2.25.1 升级到 2.29.2【参考方案6】:

在 Google 上搜索“trouble upgrade git on mac”后,我阅读了几篇帖子并尝试了以下操作,然后通过完成第 4 步来解决问题:

    我使用上述导出命令更新了终端路径。每次我退出终端并重新启动它,当我输入git --version终端时,它仍然返回旧版本1.8。

    我按照 README.txt 说明升级到 .dmg 安装程序附带的当前版本 2.0.1,但当我重新启动终端时,仍然不行。

    我按照上面的说明查找了 /etc/path/ 文件夹,但我的 Mac 上不存在名为“path”的目录。我正在运行 OS X Mavericks 版本 10.9.4。

    然后我记得我在我的 Mac 上安装了 Homebrew 并运行了以下命令:

    brew --version
    brew update
    brew search git
    brew install git
    

这终于解决了我的问题。如果有人对为什么这样做有一些见解,将不胜感激进一步的见解。去年使用 Ruby 时,我的系统上可能有一些遗留的路径设置。

【讨论】:

我已经安装了 git。因此,当执行最后一步brew install git 时,我收到一条错误消息,它建议改为执行brew upgrade git 命令。你是男人!这只是把戏:)【参考方案7】:

我最近也将我的 OS X 机器上的 Git 升级到了最新版本。我没有使用与您相同的.dmg,但是当我安装它时,二进制文件被放置在/usr/local/bin 中。现在,按照我的PATH 的排列方式,目录/usr/bin 出现在/usr/local/bin 之前。所以我所做的是:

cd /usr/bin
mkdir git.ORIG
mv git* git.ORIG/

这会将名为 git* 的几个原始程序移动到一个新的子目录,以防止它们受到干扰。之后,which git 表示找到了/usr/local/bin 中的那个。

根据需要修改上述过程以适合您安装新二进制文件的位置。

【讨论】:

谢谢!实际上,新的二进制文件放在/usr/local/git 注意:我必须重新启动终端才能看到新的 git。看起来很明显,但一开始我很困惑。【参考方案8】:

git 主页上的安装程序默认安装到/usr/local/git。但是,如果你安装 XCode4,它会在/usr/bin 中安装一个 git 版本。为确保您可以轻松地从网站升级并使用最新的 git 版本,请编辑您的个人资料信息以将 /usr/local/git/bin 放在 $PATH 中的 /usr/bin 之前或编辑 /etc/paths 并插入 @987654326 @ 作为第一个条目。

这可能对至少改变 /etc/paths 中的顺序对我有用的人有所帮助。

【讨论】:

【参考方案9】:

@rafaecheve 的回复在我作为 Mac 用户的情况下非常有效。我的机器上安装了几个版本的 git,但使用包管理器、Homebrew 和以下代码:

brew link --overwrite git

我收到了这个确认

Linking /usr/local/Cellar/git/2.32.0... 212 symlinks created.

瞧!

【讨论】:

要覆盖系统 git,只需将 alias git="/usr/local/bin/git" 添加到您的 .zshrc.bashrc 或您喜欢的任何 shell。【参考方案10】:

目前我发现的最简单的方法是从 git 官方网站。 它只是计算依赖关系并下载所有必需的库/工具

http://git-scm.com/book/en/Getting-Started-Installing-Git

另一种主要方式是通过 MacPorts 安装 Git (http://www.macports.org)。如果您安装了 MacPorts,请安装 Git 通过

$ sudo port install git-core +svn +doc +bash_completion +gitweb

【讨论】:

【参考方案11】:

没有自制软件

    使用 git 网站上的the installer。 更新您的 ~/.bash_profile 文件。 请注意,此命令与 kmikael 的答案不同,它包含在文件中的内容: 其他命令:export PATH=/usr/local/git/bin:/usr/local/sbin/:[and so on] 以下命令:export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH" 使用您喜欢的任何一种。

echo 'export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile

    如果您使用的是 Xcode,则需要 add some symbolic links。 示例:ln -s /opt/local/bin/git /usr/bin/git 重启终端。 which git 应该是 dmg 中 README.txt 文件中的目录。 git --version 应该说是更新版本。 echo $PATH 应该以 /usr/local/git/bin:/usr/local/sbin: 开头

【讨论】:

【参考方案12】:

为了保留两个版本,我只是更改了PATH环境变量的值,将新版本的git路径“/usr/local/git/bin/”放在开头,它强制使用最新版本:

$ 回声 $PATH

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin/

$ git --version

git 版本 2.4.9 (Apple Git-60)

原值: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local /git/bin/

新值: /usr/local/git/bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local /bin:/opt/X11/bin

$ export PATH=/usr/local/git/bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

$ git --version

git 版本 2.13.0

【讨论】:

【参考方案13】:

git-scm.com 上没有最新版本的 mac 二进制文件,所以我从源代码安装。我缺少本地化所需的软件包,并添加了 NO_GETTEXT=true 以在没有本地化的情况下安装。

git clone https://github.com/git/git.git
cd git
make NO_GETTEXT=true
make NO_GETTEXT=true install

这在~/bin 下安装了git,然后我必须将其添加到我的PATH 变量的开头。

【讨论】:

这可以正常工作并在 macOS 10.10 上编译!但是现在我意识到我真的还需要升级curl,当我的linuxbox 有7.68​​.0 时,它卡在7.43.0 上。关闭编译 curl...【参考方案14】:

我不想改变路径层次结构,而是专门处理 git...我知道我永远不会使用旧 git 来做新 git 现在将管理的事情。这是一个蛮力解决方案。

注意:我在 Yosemite (10.10.2) 上安装了 XCode,首先

然后我从git-scm.com 上可用的二进制文件安装。

$ which git
/usr/bin/git
$ cd /usr/bin
$ sudo ln -sf /usr/local/git/bin/git
$ sudo ln -sf /usr/local/git/bin/git-credential-osxkeychain
$ sudo ln -sf /usr/local/git/bin/git-cvsserver
$ sudo ln -sf /usr/local/git/bin/git-receive-pack
$ sudo ln -sf /usr/local/git/bin/git-shell
$ sudo ln -sf /usr/local/git/bin/git-upload-archive
$ sudo ln -sf /usr/local/git/bin/git-upload-pack
$ ls -la
(you should see your new symlinks)

【讨论】:

【参考方案15】:

我是这样做的:

    打开安装在 Mac 上的 GitHub 应用程序 点击高级选项卡 → 安装命令行工具 收到所有命令已安装的消息后,请关闭终端并重新打开它。 现在检查git --version,它应该为您提供最新版本。

【讨论】:

【参考方案16】:

您需要调整shell路径,路径将设置在您的主目录中的.bashrc.bash_profile,更可能是.bash_profile

所以添加到类似于下面的路径并保留路径中已有的内容,每个段用冒号分隔:

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

【讨论】:

【参考方案17】:

您可以在没有任何命令的情况下执行此操作。 Katrina 提到的 Git 安装程序是解决方案,但这样做更容易:

    进入链接-https://sourceforge.net/projects/git-osx-installer/

    在“项目活动”下选择最新版本,下载并打开扩展名为 .pkg 的文件。

    然后,在“安全和隐私”系统偏好设置中,选择“仍然打开”选项。安装后,你将拥有最新版本的 git

【讨论】:

【参考方案18】:

在 macOS Monterey homebrew 上,二进制文件位于 /opt/homebrew/bin

将此添加到.bash_profile 将使自制git 优先于apple-git

export PATH=/opt/homebrew/bin:$PATH

【讨论】:

MinGW:如何在 Windows 上将 GCC/G++ 升级到版本 5?

】MinGW:如何在Windows上将GCC/G++升级到版本5?【英文标题】:MinGW:HowtoupgradeGCC/G++toversion5onWindows?【发布时间】:2016-02-1921:11:05【问题描述】:我的计算机上安装了MinGW,我刚刚发现我的GCC/G++在编译较新的C++标准时出现问题。所以... 查看详情

如何在macos升级和安全?

...设置中。现在,应用程序更新和操作系统更新是分开的。如何更新macOS只需点击几下即可更新您的Mac。单击菜单栏左上角的Apple标志,然后单击关于本机。将出现一个窗口,显示您当前的macOS版本和其他详细信息。在此窗口中,您... 查看详情

如何在 centos 上将 dotnetcore 从 1.0.4 版本升级到 2.0.2 版本?

】如何在centos上将dotnetcore从1.0.4版本升级到2.0.2版本?【英文标题】:howtoupgradedotnetcorefromversion1.0.4toversion2.0.2oncentos?【发布时间】:2018-03-2619:52:47【问题描述】:如何在centos上将.net-core从1.0.4版升级到2.0.2版?我有一些asp.net核心... 查看详情

在 MAMP 上将 phpMyAdmin 更新到最新的 4.2.11 版本

】在MAMP上将phpMyAdmin更新到最新的4.2.11版本【英文标题】:UpdatingphpMyAdmintolatest4.2.11versiononMAMP【发布时间】:2015-01-1303:52:48【问题描述】:我已经下载了最新版本的MAMP。它包括最新的PHP版本,但不包括最新版本的phpMyAdmin。对你... 查看详情

如何在 Windows 上将 NPM 升级到特定版本 6.4.1?

】如何在Windows上将NPM升级到特定版本6.4.1?【英文标题】:HowtoupgradeNPMtospecificversion6.4.1onwindows?【发布时间】:2019-05-1200:32:18【问题描述】:在我的Windows10上,我安装了NPM5.5.1和Node8.9.2。当我运行命令“npmi-gnpm6.4.1”时,出现以下... 查看详情

如何在 centos 上将 subversion(svn) 1.6.11 版本升级到 1.8.5 版本?

】如何在centos上将subversion(svn)1.6.11版本升级到1.8.5版本?【英文标题】:Howtoupgradesubversion(svn)version1.6.11toversion1.8.5oncentos?【发布时间】:2014-02-1713:19:05【问题描述】:Hj,全部我使用的是svn版本1.6.11,我想计划升级到版本1.8.5?我... 查看详情

如何在 MACOS 上将 Java 从 9 降级到 8。 Eclipse 未与 Java 9 一起运行

】如何在MACOS上将Java从9降级到8。Eclipse未与Java9一起运行【英文标题】:HowtodowngradeJavafrom9to8onaMACOS.EclipseisnotrunningwithJava9【发布时间】:2018-03-1219:46:07【问题描述】:如何在macOSSierra10.12.6(16G29)上将Java从9降级到8。我尝试删除Java... 查看详情

求教:osx10.8.5如何升级到最新版本

参考技术A升级MacOS10.12方法如下:1、点开AppStore2、点击“更新”,把所有能安装的更新都装上,当中要求重启就重启3、所有系统自动检测的更新都安装好过后再次点开AppStore,最新系统会在推荐位第一位4、下载安装macOSSierra有几... 查看详情

如何在 Amazon Linux 上将 OpenSSH 从 6.6.1p1 升级到版本 7.2p2?

】如何在AmazonLinux上将OpenSSH从6.6.1p1升级到版本7.2p2?【英文标题】:HowtoupgradeOpenSSHfrom6.6.1p1toversion7.2p2onAmazonLinux?【发布时间】:2018-01-1005:55:33【问题描述】:需要升级来修复“OpenSSHXauth命令注入”漏洞。从https://pci.qualys.com的扫... 查看详情

如何在 phpMyAdmin 中将 MySQL 版本升级到最新版本?

】如何在phpMyAdmin中将MySQL版本升级到最新版本?【英文标题】:HowtoupgradetheMySQLversiontothelatestversioninphpMyAdmin?【发布时间】:2019-07-0823:17:24【问题描述】:我正在使用WordPress创建一个网站,这似乎是一个问题,因此我需要升级MySQL... 查看详情

如何在 MacOS High Sierra 上将 X11 链接到 qt 项目

】如何在MacOSHighSierra上将X11链接到qt项目【英文标题】:HowtolinkX11toqtprojectonMacOSHighSierra【发布时间】:2019-01-2003:10:28【问题描述】:我尝试使用dlib编译Qt项目#include<dlib/image_processing/frontal_face_detector.h>#include<dlib/dnn.h>#inclu... 查看详情

如何将 Angular CLI 升级到最新版本

】如何将AngularCLI升级到最新版本【英文标题】:HowtoupgradeAngularCLItothelatestversion【发布时间】:2017-10-1110:25:36【问题描述】:使用ng--version我得到了:@angular/cli:1.0.0这不是可用的最新版本。由于我的系统上全局安装了AngularCLI,为... 查看详情

sh使用git和pip将ansible升级到最新版本(代码片段)

查看详情

如何在 Linux / macOS 上将 Sass 与 NetBeans 一起使用

】如何在Linux/macOS上将Sass与NetBeans一起使用【英文标题】:HowtouseSasswithNetBeansonLinux/macOS【发布时间】:2019-03-1609:21:52【问题描述】:我曾经能够按照HowtouseSASSwithNetbeans8.0.1上的最佳答案中的描述在NetBeans8中安装和使用Sass现在,使... 查看详情

mac重装系统

...松开。Command(?)-R安装您在Mac上安装过的最新macOS,但不会升级到更高的版本。1Option-Command-R升级到与您的Mac兼容的最新macOS。2Shift-Option-Comman 查看详情

macos安装git

mac系统在AppStore里下载最新的Xcode,目前最新版本是Version8.3.1(8E1000a),由于最新版的Xcode里已集成了git,所以下载后可直接在终端使用git了。   查看详情

如何在 Windows 上将 doRedis 包版本 1.0.5 安装到 R 3.0.1 中? [复制]

】如何在Windows上将doRedis包版本1.0.5安装到R3.0.1中?[复制]【英文标题】:HowtoinstalldoRedispackageversion1.0.5intoR3.0.1onWindows?[duplicate]【发布时间】:2014-05-0514:12:05【问题描述】:Thereisabug在当前最新版本的doRedis(1.1.0)中,以及downgradetover... 查看详情

如何将 Typescript 升级到最新版本?

】如何将Typescript升级到最新版本?【英文标题】:HowtoupgradeTypescripttothelatestversion?【发布时间】:2013-02-2410:30:08【问题描述】:我有一台装有OSX10.8.2的MacBookPro前段时间我安装了Typescript,今天我想将该安装升级到可用的最新版本... 查看详情