关键词:
【中文标题】如何在 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,今天我想将该安装升级到可用的最新版本... 查看详情