ChatGPT解决这个技术问题 Extra ChatGPT

如何将 Windows 上的 Git 升级到最新版本

我刚刚从以前的版本 1.7.9.mysysgit.0 升级到了适用于 Windows 的 Git 1.8.0.1。我下载了 new version from the Git site 并通过普通的 Git 安装程序 EXE 安装。

也就是说,当我启动终端窗口时,它仍然显示我正在运行 Git 版本 1.7.9.mysysgit.0。当我从提示符中输入 git --version 时,同样的事情。

我找到了 this article on a similar issue with Git on Mac OS X,这让我相信它与有缺陷的 PATH 有关,但我对这一切还是很陌生(自学了五个月),所以我不知所措如何将其转换为 Windows。

当我开始一个新的 Ruby on Rails 项目并尝试将其推送到 Git 时出现了这个问题。我添加了遥控器:

git remote add origin git@github.com:brianscottk/blog.git

然后:

git push -u origin master

我收到以下错误消息:

致命:https://github.com 未找到参考文献:您是否在服务器上运行了 git update-server-info ?

谷歌搜索该错误导致我到 this article,这促使我升级,我在这里。

尽管它解决了所有令人头疼的问题,Git 始终提供自己的解决方案。看看所有这些赞成票。这不应该是一回事。

N
Naman

从 Git 2.16.1(2) 开始,您可以使用

C:\> git update-git-for-windows

在 2.14.2 和 2.16.1 之间的版本中,命令是

C:\> git update

(它后来被重命名以避免与更新本地存储库混淆,例如像 svn update 那样。)

该命令在 Git 2.13 及之前版本中不存在。

如果出现“不是 git 命令”的错误,那么要么您实际上没有适用于 Windows 的 Git,要么您的版本非常旧。

在这种情况下,只需从 https://git-scm.com/download 获取最新的安装程序(检查您需要 32 位还是 64 位)并运行它来升级。

如果您已经拥有最新版本,它不会执行任何操作,在这种情况下,您可以手动运行安装程序重新安装。

C:\> git update-git-for-windows
Git for Windows 2.17.0.windows.1 (64bit)
Up to date

> 2.14 版中的 git update 对我不起作用(在 Windows 上)。我使用从网站下载的安装程序,一切顺利(现在在 2.17.1)
我认为它被否决了,因为这些命令工作的版本比最初指定的更具体。 git update 直到 2.14.2 才起作用,这意味着对于像上面的 @defines 这样的人来说,这个答案看起来是错误的。
我想我必须卸载我的 Git for Windows 并重新安装最新版本,因为我使用的版本是 git 版本 2.14.1.windows.1。
我在 2.9.0 版上,没有任何命令对我有用。你能帮我看看怎么做吗?
如果新版本已下载但未运行安装程序,请尝试“以管理员身份”运行 Windows 命令提示符。一旦我这样做了 update-git-for-windows 工作得很好。
P
Peter Mortensen

首先,使用此命令检查您的 Git 版本

git version

然后根据你的Git版本跟进case

三种情况:

如果您的 Git 版本是 2.14.1 或更早:卸载 Git,下载最新的 Git,然后重新安装。以及 2.14.2 和 2.16.1 之间的版本:使用命令 git update 如果版本等于或大于 Git 2.16.1(2):使用命令 git update-git-for-windows


我在 2.14.1 版本上因 git update 错误而发疯。所以这个答案是正确的答案,因为它解决了 2.14.2 之前不存在的命令。
不需要卸载旧版本。您可以在旧版本上安装新版本。它对我有用
当心!就我而言,更新已覆盖 [...]/Git/etc/bash.bashrc 幸运的是我得到了备份。从 2.16 更新到 2.33。
S
SherylHohman

重击

请注意,如果您想了解您正在运行的 Git Bash 版本,或者想查看是否需要更新 Git Bash,它是 Windows 版 Git 的一部分。

所以你的 Git Bash 版本是:

git --version

git 版本 2.23.0.windows.1

请注意,它在技术上与 Bash 不同。当我运行时在我的同一台机器上:

echo $BASH_VERSION

4.4.23(1)-发布

适用于 Windows 安装程序的 Git

要更新到最新版本的 Git 和 Git Bash,您可以download并安装最新版本的 Git for Windows。根据此 FAQ,如果设置/自定义安装在适当的配置文件夹中,则应保留它们。

注意:他们的安装程序实际上是为做正确的事情而设计的(尽管它不会预先告诉您它会自动默认为您之前的设置!)。如果您正在进行更新,则安装程序上的每个屏幕都预先标记了您当前(即将是以前)安装中的设置。

它没有向您显示通用默认设置。您无需查看其中任何一个,也无需担心会破坏您精心打磨的设置。保持一切原样,以保留您之前的选择。

事实上,他们让它变得更加容易(如果他们这样做很明显的话)。

底部有一个复选框 [] Show only new settings(我不记得确切的措辞)。由于在您标记该框时第一个屏幕上没有任何变化,因此它的用途并不十分明显。如果您标记该框,则您当前的所有设置都将保留,并且会跳过向您显示那些(后续)设置屏幕。仅显示具有新引入设置的屏幕。

git update-git-for-windows

或者,正如其他人所指出的,您还可以通过以下方式从 Git Bash 命令行更新 Git Bash 和 Git(根据定义,两者总是同时更新):

git update-git-for-windows

如果您输入 git update,Git 会提醒您该命令已更新为 git update-git-for-windows

警告! git update 已被弃用;请改用 git update-git-for-windows。 Git for Windows 2.26.0.windows.1 (64bit) 最新


P
Peter Mortensen

只需在命令提示符下输入以下命令。

git update-git-for-windows

这将要求您进行如下确认。按 Y 继续。

https://i.stack.imgur.com/qNz8s.png

下载文件后,继续正常的安装过程。您可以在安装完成后使用以下命令检查 Git 版本:

git version

对我来说,结果如下。

https://i.stack.imgur.com/fPcMq.png


这与已经提供的答案有何不同?在这种情况下,简单地附上屏幕截图不会添加 anything。 SO 的部分优势在于,好的答案会被投票而不是重复,这只会使页面变得混乱,并阻碍用户找到问题解决方案的能力。这与论坛有很大的不同,论坛各有优势。请查看 stackoverflow.com/help 以了解 SO 平台和它与其他平台有何不同。具有讽刺意味的是,您主张删除另一个与您在这里所做的相同的 Q。有很多方法可以做出贡献。
谢谢你的截图。我在同一页面上并且没有做错任何事情对我很有帮助。
P
Peter Mortensen

更新(2016 年 9 月 26 日):不再需要卸载以前版本的 Git 来将其升级到最新版本; Git Windows download site 中的安装程序包会处理所有问题。只需按照提示操作即可。

如需更多信息,请按照 installing and upgrading Git 中的说明进行操作。


安装程序并不是“处理一切”,它只是覆盖了以前的安装。所以如果有自定义设置,就会被覆盖!
有没有办法升级并保留我现有的设置?当我运行 Windows 安装程序进行升级时,它会问我第一次安装时问的所有复杂问题(关于行尾、编辑器首选项等)。我真正想要的是获得新版本并保留所有现有设置
@Andy,我不确定它是否会涵盖所有设置,但我会在升级之前使用 git-config 命令,将您的值存储在脚本中,使用默认设置升级,然后使用脚本自定义您的设置。参考:git-scm.com/docs/git-config
安装程序不会覆盖任何设置,并且您可以在安装中选择的所有设置默认为其当前值。
P
Peter Mortensen

如果你只是输入

git update-git-for-windows

如果您遇到问题,请以管理员身份运行 Bash 或将“git.exe”路径添加到“通过受控文件夹访问允许的应用程序”。


这已弃用
@JulienReszka 是的,但仍会显示正确的命令行“update-git-for-windows”并继续询问“是”或“否”。好在他们直到现在仍然显示该警告以及如何执行此操作。
很好,出于某种原因,我认为这仍然是获取安装程序或使用巧克力或其他东西的复杂过程。该解决方案“有效”。
今天对我来说很完美。
P
Peter Mortensen

https://i.stack.imgur.com/oI7sr.png

检查版本: git --version 如果你的 Git 版本是 2.27.0.windows.1 或更早版本 如果版本等于或大于 Git 2.27.0.windows.1 使用命令 git update-git-for-windows

如果您想观看视频教程 click here


视频教程不是英文的。它是什么语言的?
@PeterMortensen 它在乌尔都语。
S
SherylHohman

如果你已经安装了 Git,你可以使用命令更新 Git

git update-git-for-windows

要了解当前版本,请使用:

git --version

您可以在 cmd prompt 中运行这些命令。


我收到错误:git: 'update-git-for-windows' is not a git command. See 'git --help'.
确保您位于其中一个用户目录中,就像它应该是 C:\Users\Rohan> 或者尝试 git update (我知道它已被弃用且较旧版本)但它会向您显示一个更新 git 的命令,对我来说显示 git update-git-for-windows
仅适用于 git bash,不适用于 cmd
它也适用于 cmd
通过 CMD 工作就像一个魅力!
P
Peter Mortensen

赶紧跑:

git update-git-for-windows

与您的回答相称,我们应该在哪里运行它?您提到了吗?
@RohanDevaki 你可以在 git bash 中运行它
R
Rajan Ponnappan

使用命令“where git”找出命令提示符如何获取版本。获得路径后,您可以继续完全卸载/删除以前的版本。然后,如果您安装并确保新安装的位置在路径中,它应该可以正常工作。

使用像 cmder 这样对 git 友好的工具将使您的生活更轻松。你真的不必再使用双启动或 cygwin 了,因为 Windows 中对 git 的支持现在已经是一流的了。 (Windows 版 Git 安装 msysgit,其中包括来自 MinGW 的所有必要的 unix 工具。MinGW 已经存在了一段时间并且非常稳定。如果您愿意,您可以安装完整版本的 msysgit 而不是 Git for Windows。msysgit 在 Git 上可用于windows页面在底部。)


刚刚意识到我回答了一个老问题。但可能对其他访问此页面的人有用......
cmder 的链接已损坏:(
where 在 Ubuntu 上默认不安装(至少不是更高版本,例如 Ubuntu 20.04 (Focal Fossa))。
J
Jaied

您可以使用,

git update

或者,如果您在 Windows 机器上,您可以运行以下命令,

git update-git-for-windows

请不要重复现有的答案,除非你想添加新的东西
git update 已弃用,如果您使用 Windows 机器,则应改用 git update-git-for-windows
N
Nirajan Mahara
PS Z:\MERN-STACK-ECOMMERCE-PROJECT> git --version
git version 2.31.0.windows.1

PS Z:\MERN-STACK-ECOMMERCE-PROJECT> git update-git-for-windows
Git for Windows 2.31.0.windows.1 (64bit)
Update 2.33.1.windows.1 is available
Download and install Git for Windows 2.33.1 [N/y]? y
############################################################################################################ 100.0%-
############################################################################################################ 100.0% 

PS Z:\MERN-STACK-ECOMMERCE-PROJECT> git --version
git version 2.33.1.windows.1
PS Z:\MERN-STACK-ECOMMERCE-PROJECT> 

P
Peter Mortensen

基于Simon's answer,我首先卸载了新版本的Git。然后我重新将新版本的 Git 安装到与旧版本相同的目录中C:/RailsInstaller/Git,而不是默认目录 C:/Git

现在我的 Ruby on Rails 终端窗口显示我正在运行新的 Git 版本 1.8.0。


c
colidyre

如果您在 “git via git” 部分查看 Git's website 的最新更新,您将看到更新旧版本的选项。

这是 git 在其网站上的命令:

git clone https://github.com/git/git

它适用于我的 2.13.0.windows.1 版本的 git。


好吧,虚惊一场。更新显示为“完成”,但是版本显示为相同,因此我卸载并下载了最新版本的 Git。
P
Peter Mortensen

要检查您的 PATH 变量,请执行以下操作:

在桌面上,右键单击我的电脑,然后单击属性。单击左栏中的高级系统设置链接。在系统属性窗口中单击环境变量按钮。

在那里,滚动以获取 Path 行。您将获得一长串路径(例如,C:\windows\bin;C:\program files\git 等)。

找到引用 git 的一行或多行。然后,确保此路径指向您的 Git 1.8.x 安装。如果没有,请将其删除并添加最新 Git 版本的真实路径。最后,您应该在字符串中只有一个路径链接到 Git。


感谢@Simon 的帮助,但我仍然遇到问题。我能够在我的环境变量中找到 Path 行。您是正确的,因为它指向似乎是旧版本的 Git。 (显然,我有 2 个版本。我的原始版本是通过 RailsInstaller 安装在 RailsInstaller 目录中的,而我刚刚安装在自己的目录中的新版本。)我的 Path 行读取 C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\bin 并根据您的回复,我将其更改为 C:\Git;C:\RailsInstaller\Ruby1.9.3\bin,但我的终端仍显示 v 1.7.9 ...
您是否在更改后打开新的命令提示符以检查版本?此外,在 C:\Git 中,您应该有一个 git Bash,打开它并检查您在此 bash 中的版本是否正确,这将确认此文件夹是真正安装 1.8 的位置。如果没有,请尝试卸载旧版本并重新安装新版本。
谢谢,@西蒙!这并不完全有效,但让我得到了正确的答案,我在下面概述了。感谢帮助!
获取路径列表的更快方法是打开 Powershell 并输入以下内容:$env:path -split ';'
您可以使用 where git 查看 Git 的安装位置。确保该路径在您的 PATH 中。我喜欢上面的@DaveSexton 方法来查看 PATH 变量。有没有办法从 Git Bash 窗口而不是 Powershell 获取类似的列表?
P
Peter Mortensen

我认为您的问题与 Windows 的全局 PATH 环境变量无关,因为 remote 特定于存储库。

我建议您使用 Cygwin 下的 Git。 Git 可以在 Windows 命令行下工作,但可能会出现一些难以解决的奇怪问题。在 Cygwin 下,它更自然,错误更少。

您只需在 Window CMD 中键入 bash,然后开始使用 Unix 工具和命令。您可以使用快捷方式加载bash;它就像使用普通的 Windows CMD 一样简单。

Ruby on Rails 和 Ruby 也是如此。我之前用过RailsInstaller,但是我发现用Cygwin安装Rails更稳定。

最后,如果您有时间(大约一个月来熟悉它),我建议您安装 Ubuntu 双启动。 Windows 最终对每个 Unix 工具都不是很友好。你会发现所有的痛苦都停止了。


我听说其他人建议这样做,但现在我觉得我太新了,无法注意到 Cygwin 与 Windows CMD 的区别。
Cygwin 将模仿 unix 环境。所有命令看起来都像原生命令,unix 的环境变量将在一个地方 - 在 cygwin 文件夹下。如果你不准备 linux,至少使用 cgywin。
Cygwin 很糟糕,它非常臃肿,并且有很多令人惊讶和破碎的行为。如果你想在 Windows 上使用 Git,那么你绝对应该使用 Git for Windows——它甚至提供了原生的 Windows bash 和一些 *NIX 工具。如果您真的想在 Windows 上获得完整的 Linux 环境,请前往 Microsoft Store 并安装其中一个(Ubuntu、SUSE、Debian、Kali)。
G
Geoffrey Duncan Opiyo

在我的 Windows 10 上,> git update-git-for-windows 拒绝处理 curl 问题。只有以下命令有效。

winget install --id Git.Git -e --source winget