【问题标题】:How to upgrade Git on Windows to the latest version如何将 Windows 上的 Git 升级到最新版本
【发布时间】:2012-11-27 06:07:07
【问题描述】:

我刚刚从以前的版本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 refs not found:你在服务器上运行了 git update-server-info 吗?

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

【问题讨论】:

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

标签: windows git upgrade


【解决方案1】:

从 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 工作得很好。
【解决方案2】:

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

git version

然后根据你的Git版本跟宗

三种情况:

  1. 如果您的 Git 版本是 2.14.1 或更早版本:

    卸载 Git,下载最新的Git,然后重新安装。

  2. 以及 2.14.2 和 2.16.1 之间的版本:

    使用命令git update

  3. 如果版本等于或大于 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。
【解决方案3】:

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

git update-git-for-windows

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

下载文件后,继续正常安装过程。安装完成后可以通过以下命令查看 Git 版本:

git version

对我来说,结果如下。

【讨论】:

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

Git 重击

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

所以你的 Git Bash 版本是:

git --version

git 版本 2.23.0.windows.1

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

echo $BASH_VERSION

4.4.23(1)-发布

Git for Windows 安装程序

要更新到最新版本的 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
适用于 Windows 的 Git 2.26.0.windows.1(64 位)
最新的

【讨论】:

    【解决方案5】:

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

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

    【讨论】:

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

    如果你只是输入

    git update-git-for-windows
    

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

    【讨论】:

    • 已弃用
    • @JulienReszka 是的,但仍会显示正确的命令行“update-git-for-windows”并继续询问“是”或“否”。好在他们直到现在仍然显示该警告以及如何执行此操作。
    • 很好,出于某种原因,我认为这仍然是获取安装程序或使用巧克力之类的复杂过程。这个解决方案“有效”。
    • 今天非常适合我。
    【解决方案7】:

    1. 查看版本:git --version

    2. 如果您的 Git 版本是 2.27.0.windows.1 或更早版本

    3. 如果版本等于或大于 Git 2.27.0.windows.1

    4. 使用命令git update-git-for-windows

    如果你想看视频教程click here

    【讨论】:

    • 视频教程不是英文的。是什么语言的?
    • @PeterMortensen 是乌尔都语。
    【解决方案8】:

    只要运行:

    git update-git-for-windows
    

    【讨论】:

    • 与您的回答相符,我们应该在哪里运行它?您提到了吗?
    • @RohanDevaki 你可以在 git bash 中运行它
    【解决方案9】:

    如果你已经安装了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
    【解决方案10】:

    使用命令“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))。
    【解决方案11】:

    你可以使用,

    git update
    

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

    git update-git-for-windows
    

    【讨论】:

    • 请不要重复已有的答案,除非你想添加新的东西
    • git update 已被弃用,如果你使用 windows 机器,你应该改用 git update-git-for-windows
    【解决方案12】:

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

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

    【讨论】:

      【解决方案13】:
      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> 
      

      【讨论】:

        【解决方案14】:

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

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

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

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

        【讨论】:

        • 好吧,虚惊一场。更新显示为“完成”,但是版本显示为相同,所以我卸载并下载了最新版本的 Git。
        【解决方案15】:

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

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

        在那里,滚动以获取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 的位置。如果还是不行,请尝试卸载旧版本并重新安装新版本。
        • 谢谢,@Simon!这并不完全有效,但让我得到了正确的答案,我在下面概述了。感谢您的帮助!
        • 获取路径列表的更快方法是打开 Powershell 并输入以下内容:$env:path -split ';'
        • 你可以使用where git查看Git的安装位置。确保该路径在您的PATH 中。我喜欢上面的@DaveSexton 方法来查看 PATH 变量。有没有办法从 Git Bash 窗口而不是 Powershell 获取类似的列表?
        【解决方案16】:

        我认为您的问题与 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)。
        【解决方案17】:

        如果您使用的是 macOS:

        查看版本

        git --version
        

        升级版本

        brew upgrade git
        

        【讨论】:

        • 这个问题清楚地表明它与 Windows 操作系统有关。这个答案与问题不太相关。任何使用 MacOS 的人都无法得到这个答案。在我看来,这个答案应该被删除。
        • @Ayushya 虽然 OP 确实要求使用 MAC OS,但未来的访问者经常会从搜索引擎中找到这些旧答案。当他们找不到正确操作系统的答案时,有时通过 cmets 或明确说明差异的答案指出正确的方向会很有帮助。这充其量是一个灰色区域,因为答案肯定是特定于操作系统的,尽管它仍然是一个类似的解决方案。当答案只有轻微变化时会更好,例如必须注意/ 与 `\` 或 command 中的空格,而不是安装/更新的不同生态系统。
        猜你喜欢
        • 2012-02-15
        • 1970-01-01
        • 1970-01-01
        • 2013-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多