如何在Windows上升级到最新版本的Git?仍显示旧版本


375

我刚刚从以前的版本1.7.9.mysysgit.0升级到Windows的Git 1.8.0.1。我从Git站点下载了新版本,并通过普通的Git安装程序EXE进行了安装。

就是说,当我启动终端窗口时,它仍然表明我正在运行git版本1.7.9.mysysgit.0。当我在提示符下键入“ git --version”时,同样的事情。

在与Mac OSX上的Git相似的问题上发现了这篇文章,这使我相信它与错误的PATH有关,但是我仍然很新(这是5个月的自学时间),所以我如何将其翻译为Windows茫然无措。

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

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

然后:

git push -u origin master

我收到以下错误消息:

致命:未找到https://github.com引用:您是否在服务器上运行git update-server-info?

谷歌搜索该错误使我想到了这篇文章这篇文章促使我进行了升级,现在就在这里。

Answers:


721

从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

60
我不知道为什么这么低调-这是如何在Windows上更新Git的正确答案。
OrangeDog

3
> 2.14版中的git update对我不起作用(在Windows上)。我使用从网站上下载的安装程序,一切进行得很顺利(现在是2.17.1)
gianni

2
就像魅力一样,谢谢。绝对应该被否决。
rsenna '18

3
我认为这是被否决的,因为这些命令工作的版本比最初指定的更加具体。git update在2.14.2之前不起作用,这意味着对于上面的@defines这样的人,此答案看起来是错误的。
rickibarnes '18

3
我认为我必须卸载Windows的Git并重新安装最新版本,因为我使用的版本是git version 2.14.1.windows.1
KaiserKatze

85

首先,使用此命令检查您的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


4
git update对2.14.1版本的错误感到疯狂。因此,此答案是正确的答案,因为它解决了2.14.2之前不存在的命令。
Erick Petrucelli

34

更新(26SEP2016):不再需要卸载以前版本的git即可将其升级到最新版本;在git win下载站点上找到的安装程序包将负责所有工作。只需按照提示进行操作即可。有关更多信息,请遵循有关安装和升级git的说明


9
并不是说安装程序会“照顾一切”,而是会覆盖先前的安装。因此,如果有自定义设置,将会被覆盖!
Celdor '17

4
有没有办法升级并保留我的现有设置?当我运行Windows Installer进行升级时,它会问我所有与初次安装时相同的复杂问题(关于行尾,编辑器首选项等)。我真正想要的是获取新版本并保留所有现有设置
Andy

@Andy,我不确定是否会涵盖所有设置,但是在升级之前,我会使用git-config命令,将值存储在脚本中,使用默认设置进行升级,然后使用脚本来自定义您的设置。参考:git-scm.com/docs/git-config
David

3
安装程序不会覆盖任何设置,并且您可以在安装默认值中选择的所有设置均会保留为当前值。
OrangeDog '18年

17

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

使用诸如cmder之类的git友好工具将使您的生活更加轻松。您实际上不再需要使用双启动或cygwin,因为Windows中对git的支持现在已经是一流的。(用于Windows的Git会安装msysgit,其中包括MinGW的所有必需的unix工具。MinGW已经存在了一段时间并且非常稳定。如果您想安装完整版的msysgit而不是用于Windows的 Git。 Windows页面底部。)


2
刚意识到我回答了一个老问题。但是对其他访问此页面的人可能有用...
Rajan Ponnappan 2015年

2
cmder的链接已损坏:(
FirefoxMetzger

cmder链接似乎再次起作用
Rajan Ponnappan


11

吉特·巴什(Git Bash)

请注意,如果您要查找Git Bash正在运行的版本,或者想查看是否需要更新Git Bash,则它是Git for Windows

因此,您的Git Bash版本是:

git --version

git版本2.23.0.windows.1

请注意,它在技术上与有所不同Bash。在我运行的同一台计算机上:

echo $BASH_VERSION

4.4.23(1)-发布

Git Windows安装程序

要更新到最新版本的Git和Git Bash,您可以下载并安装Windows的最新版本git。根据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 2.26.0.windows.1(64bit)的Git
最新


6

根据@Simon的最新回复,我首先卸载了新版本的Git。我然后重新安装的Git的新版本到相同的目录旧版本C:/RailsInstaller/Git的,而不是默认的目录C:/Git

现在我的rails终端窗口显示我正在运行新的git版本1.8.0。


2

要检查您的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 ...
BrianScottK

更改后您是否打开了新的命令提示符以检查版本?另外,在中C:\Git,您应该有一个git Bash,将其打开并签出该bash中的正确版本,这将确认此文件夹确实是1.8的安装位置。如果不执行任何操作,请尝试卸载旧版本,然后重新安装新版本。
西蒙·布德里亚斯

谢谢,@ Simon!这没有完全起作用,但是却使我得到了正确的答案,下面我对此进行了概述。感谢帮助!
BrianScottK 2012年

1
获取路径列表的一种更快的方法是打开Powershell并输入以下内容:$env:path -split ';'
Dave Sexton,

您可以where git用来查看Git的安装位置。确保该路径在您的计算机中PATH。我喜欢上面的@DaveSexton方法来查看PATH变量。有没有办法从Git Bash窗口而不是Powershell中获得类似的列表?
SherylHohman

2

如果你只是输入

$ git update

在bash上git会通知您'update'命令不再起作用,并显示正确的命令'update-git-for-windows'

但是更新仍然会继续,您只需按“ y”

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


2

如果您在Git网站“通过git通过git”部分中查看最新更新,则会看到一个更新旧版本的选项。

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

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

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


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

1

我认为您的问题与Windows全局PATH(remote与回购协议有关)无关。

我建议您在Cygwin下使用Git。Git可以在Windows命令行下工作,但是可能有些奇怪的问题很难弄清楚。在Cygwin的支持下,它具有更多的特性并且错误更少。

您需要输入的bash是Window CMD,然后开始使用Unix工具和命令。您可以使用快捷方式进行加载bash,就像使用常规Windows CMD一样容易。

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

最后,如果您有时间(熟悉一个月左右),我建议安装Ubuntu双引导。Windows并非最终对每个Unix工具都非常友好。您会发现所有疼痛都已停止。


我听说有人建议这样做,但是现在我觉得我太新了,无法注意到Cygwin与Windows CMD的区别。
BrianScottK

1
Cygwin将模仿unix环境。所有命令看起来都像本地命令,并且unix的环境变量将放在一个位置-cygwin文件夹下。如果您不准备使用Linux,请至少使用cgywin。
Billy Chan

2
Cygwin很烂,非常肿胀,并且有许多令人惊讶和破坏的行为。如果要在Windows上使用Git,则应明确使用Windows的Git-它甚至提供了本机Windows bash和一些* NIX工具。如果您真的想在Windows上使用完整的Linux环境,请转到Microsoft商店并安装其中一个(Ubuntu,SUSE,Debian和Kali)。
OrangeDog
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.