Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to update git version from GitHub Desktop on Windows

I want to use the new worktree functionality introduced in git 2.5. However, I don't know how to update to the most recent version of GitHub Desktop (not git itself).

I install GitHub for desktop and hoped it ships with the most recent version, however git --version returns git version 1.9.5.github.0. But if I understand correctly, we're already at version 2.6.x! So how can I update to this version on my Windows machine, where the only version of git I installed was with the GH Desktop?

like image 301
Bram Vanroy Avatar asked Oct 31 '22 15:10

Bram Vanroy


1 Answers

Update Nov. 25th, 2015.
For what it is worth, GitHub Desktop (finally) uses a more recent git version: 2.5. See Brendan Foster tweet.


Original answer (early Nov 2015)

First, the latest git for windows release is available here on GitHub.
I always use the archive portable form (unzipped anywhere I want, and added to the PATH).

But if you have chosen the exe setup, that means it has been installed in C:\Program Files\Git.

However, as I mentioned here, git is also included in GitHub Desktop own installation path (%USERPROFILE%\AppData\Local\GitHub\PORTAB~1\bin)

You could, in theory, replace the exact value of the folder PORTAB~1 by a directory JUNCTION:

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"

In my latest GitHub Desktop 3.0.7.1 3397ae4, I see:

C:\Users\vonc\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad\bin

However, that would not work: when starting GitHub Desktop again, it would detect the change and restore its own embedded Git version (1.9.5)

So you can't force easily GitHub Desktop to use another git version.


Even if you were able somehow to force GitHub for Desktop to use another version of Git, you would have to carefully report its own internal git system configuration:

 C:\Users\vonc\AppData\Local\GitHub\PortableGit_c2b...\etc\gitconfig

This file points to GitHub Desktop specific settings:

[http]
        sslcainfo = /bin/curl-ca-bundle-ghfw.crt
[credential]
        helper = !github --credentials

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

THose settings are not present in a non-GitHub embedded version of Git, and would need to be restored.

like image 55
VonC Avatar answered Nov 15 '22 03:11

VonC