如何在Windows上通过GitHub桌面版更新git版本

5
我想使用在git 2.5中引入的新的worktree功能。但我不知道如何更新到最新版本的GitHub桌面应用(而不是git本身)。

我已安装GitHub桌面版,希望它能包含最新版本,然而git --version返回git version 1.9.5.github.0。但如果我理解正确,我们已经到了2.6.x版本!那我该如何在我的Windows机器上升级到这个版本,因为我只安装了GH Desktop中的git?


我已经编辑了我的答案,添加了有关Git系统设置的警告。 - VonC
4个回答

2
更新于2015年11月25日。
值得一提的是,GitHub桌面版(终于)使用了一个更近期的git版本:2.5。请参见Brendan Foster tweet

原始回答(2015年11月初)

首先,GitHub上可获得的Windows版本最新Git
我总是使用压缩包的形式(解压到任意位置,并将其添加到PATH中)。

但是,如果你选择了exe安装程序,那就意味着它已经安装在C:\Program Files\Git中。

不过,正如我在这里提到的, Git也包含在GitHub桌面应用程序的安装路径中(%USERPROFILE%\AppData\Local\GitHub\PORTAB~1\bin

理论上,你可以通过一个目录JUNCTION来替换文件夹PORTAB~1的确切值:

cd %USERPROFILE%\AppData\Local\GitHub
dir # take note of the exact name of PORTABLEGIT folder: <PORTAB...>
move <PORTAB...> old_PORTABLEGIT
mklink /J <PORTAB...> "C:\Program Files\Git"

在我最新的 GitHub Desktop 3.0.7.1 3397ae4 中,我看到:
C:\Users\vonc\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\bin

然而,这样做是行不通的:当再次启动GitHub桌面版时,它会检测到更改并恢复其自己嵌入的Git版本(1.9.5)。
因此,你不能轻易地强制GitHub桌面版使用另一个git版本。
即使你设法强制GitHub桌面版使用另一个版本的Git,你也必须仔细报告它自己内部的git系统配置。
 C:\Users\vonc\AppData\Local\GitHub\PortableGit_c2b...\etc\gitconfig

这个文件指向GitHub Desktop特定的设置:
[http]
        sslcainfo = /bin/curl-ca-bundle-ghfw.crt
[credential]
        helper = !github --credentials

[filter "ghcleansmudge"]
        clean = cat
        smudge = cat

这些设置在非GitHub嵌入版本的Git中不存在,需要进行恢复。

所以,总之:你不能轻易地强制GitHub桌面应用程序使用另一个git版本。 - Bram Vanroy
哦,是的!非常感谢!我会试一下,那个工作树功能是如何“允许”的呢? - Bram Vanroy
这是Git安全更新的问题。很遗憾GitHub与之紧密绑定。今天,我的Secunia PSI警告我2.11.0存在轻微漏洞(可能是2.11.1中“已修复Windows端口潜在但不太可能的缓冲区溢出”)。现在我必须等待GitHub团队集成该修复程序。最近,我因为许多原因越来越多地使用Source Tree(Atlassian)。 - Fuhrmanator
1
@Fuhrmanator 我同意。我总是在Source Tree中使用“System” Git,即我可以指向的那个(它是https://github.com/git-for-windows/git/releases上的最新版本)。 - VonC
又发生了。我很惊讶GitHub正在使用以.0结尾的GIT版本--请在此处查看屏幕截图:https://imgur.com/SZRDZrz - Fuhrmanator
显示剩余5条评论

1

您可以在这里找到Windows Git安装程序:http://www.git-scm.com/

为了获得最佳效果,我建议卸载Github桌面版,安装Git(从上面链接下载),然后重新安装Github客户端。


哎呀,不幸的是这个方法行不通。我按照你说的做了,但是GitHub桌面版使用的Git版本仍然是1.9.5。不过Git已经安装好了,因为当我在bash命令中从新安装的Git文件夹运行git --version时,它返回2.6.3。 - Bram Vanroy

0

如果你想使用worktree,为什么不安装MSYS2呢?

MSYS2是mSysGit的一个分支,而mSysGit已经不再维护了

它就像一个Unix控制台,你可以通过Pacman更新自己的git版本,Pacman是来自Archlinux的软件包管理器。

希望这对你有所帮助!

祝好

编辑:如果你只想使用“Git For Windows”,这里是最新版本,其中包含Git v2.6.3。


我可以简单地使用git shell来使用最新的git版本,但问题是我想在GITHUB DESKTOP内部使用最新版本。 - Bram Vanroy
这是你需要的内容:Git 2.6.3 - peltho
不是Git for Windows。是Github桌面版。 - Bram Vanroy

-1

这里列出了更新Github for Windows所需的步骤说明

  1. Github for Windows右上角,点击看起来像小齿轮的图标(见图像示例)。

  2. 从步骤1中点击的菜单中选择About GitHub Desktop

  3. 如果有更新可用,则允许您单击重新启动以安装更新

  4. 这是指向在imgur上截取的所有步骤屏幕截图的链接。


那不是问题。我需要在应用程序中使用更新版本的git。 - Bram Vanroy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接