ChatGPT解决这个技术问题 Extra ChatGPT

How to upgrade Git on Windows to the latest version

I just upgraded to Git 1.8.0.1 for Windows, from my previous version 1.7.9.mysysgit.0. I downloaded the new version from the Git site and installed through the normal Git installer EXE.

That said, when I fire up my terminal window, it still is showing that I am running Git version 1.7.9.mysysgit.0. When I type git --version from my prompt, the same thing.

I found this article on a similar issue with Git on Mac OS X, which leads me to believe that it has something to do with a faulty PATH, but I'm still pretty new at all this (five months self-taught), so I'm at a loss in how to translate this to Windows.

This problem arose when I began a new Ruby on Rails project and tried to push it up to Git. I added the remote:

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

then:

git push -u origin master

I received the following error message:

fatal: https://github.com refs not found: did you run git update-server-info on the server?

Googling that error led me to this article, which prompted me to upgrade, and here I am.

For all the headaches it solves, Git never fails to provide its own. Look at all these upvotes. This shouldn't be a thing.

N
Naman

Since Git 2.16.1(2) you can use

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

In version between 2.14.2 and 2.16.1, the command was

C:\> git update

(It was later renamed to avoid confusion with updating the local repository, e.g. like svn update does it.)

That command does not exist in Git 2.13 and before.

If this errors with "is not a git command" then either you don't actually have Git for Windows, or your version is very old.

In which case, simply get the latest installer from https://git-scm.com/download (check whether you want 32- or 64-bit) and run it to upgrade.

If you already have the latest version it does nothing, in which case you can manually run the installer to reinstall.

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

> git update in version 2.14 didn't work for me (on windows). I used the installer downloaded from the website and everything went smooth (now on 2.17.1)
I think it's being downvoted because the version where these commands work are more specific than originally specified. git update doesn't work until 2.14.2, which means for people like @defines above, this answer looks wrong.
I think I have to uninstall my Git for Windows and reinstall the newest version, because the version I'm using is git version 2.14.1.windows.1.
I am on version 2.9.0 and none of the commands work for me. Can you please help me with how to do it?
If the new version downloads but doesn't run the installer, try running the Windows Command Prompt "as administrator." Once I did that update-git-for-windows worked great.
P
Peter Mortensen

First, check your Git version by using this command

git version

Then follow the case according to your Git version

Three cases:

If your Git version is 2.14.1 or earlier: Uninstall Git, download the latest Git, and install it again. And versions between 2.14.2 and 2.16.1: Use command git update If the version is equal to or greater than Git 2.16.1(2): Use command git update-git-for-windows


I was going crazy with git update error on 2.14.1 version. So this answer is the right answer since it addresses that inexistente command before 2.14.2.
Uninstalling older version is not needed. You can install the new version upon older version. It worked for me
BEWARE! In my case the update has overwritten the [...]/Git/etc/bash.bashrc! Luckily I got a backup. Update from 2.16 to 2.33.
S
SherylHohman

Git Bash

Note, if you are instead looking to find out what version of Git Bash you are running, or want to see if you need to update Git Bash, it is part of Git for Windows.

So your Git Bash version is:

git --version

git version 2.23.0.windows.1

Note that it is technically different from Bash. On my same machine when I run:

echo $BASH_VERSION

4.4.23(1)-release

Git for Windows installer

To update to the latest version of Git and Git Bash, you can download and install the latest version of Git for Windows. As per this FAQ, settings/customizations should be preserved if they were installed in the appropriate configuration folders.

Note: Their installer is actually intelligently designed to do the right thing (though it doesn't tell you upfront that it defaults to your prior settings automatically!). If you are doing an update, then every screen on the installer is pre-marked with the settings from your current (soon to be previous) install.

It is not showing you generic default settings. You do not need to look any of them up, or fear for breaking your carefully honed setup. Just leave everything as is, to retain your previous choices.

In fact, they made it even easier (if only it was clear that they did so).

There is a checkbox at the bottom [] Show only new settings (I don't remember the exact wording). Since nothing on the first screen changes when you mark the box, it is not exactly obvious what it is for. If you mark the box, then all of your current settings will be retained, and it will skip showing those (subsequent) settings screens to you. Only screens with newly introduced settings will be shown.

git update-git-for-windows

Alternatively, as others have noted, you can also update Git Bash and Git (by definition, both are always updated at the same time) from the Git Bash command line, via:

git update-git-for-windows

If you type git update, Git kindly reminds you that the command has been updated to git update-git-for-windows:

Warning! git update has been deprecated; Please use git update-git-for-windows instead. Git for Windows 2.26.0.windows.1 (64bit) Up to date


P
Peter Mortensen

Just give the following command with your command prompt.

git update-git-for-windows

This will ask you a confirmation as follows. Press Y to proceed.

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

Once the files are downloaded, continue with the normal installation procedures. You can check the Git version after finishing installation with the following command:

git version

For me, the result was as follows.

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


How is this different from answers already provided? Simply attaching a screenshot does not add anything in this case. Part of the strength of SO is that good answers are upvoted, rather than duplicated, which simply clutters the page and hinders users' ability to find solutions to issues. This is quite different from forums, which have their own strengths. Please review stackoverflow.com/help to learn how the SO platform, & how it differs from other platforms. Ironically, you advocated for removal of another Q that did the same as you did here. There're plenty of ways to contribute.
thanks for the screenshot though. It helps me that I am on the same page and not doing anything wrong.
P
Peter Mortensen

Update (26 September 2016): It is no longer needed to uninstall your previous version of Git to upgraded it to the latest; the installer package found at Git Windows download site takes care of all. Just follow the prompts.

For additional information, follow instructions at installing and upgrading Git.


It is not that installer "takes care of everything", it simply overwrite the previous install. So if there are custom setting, there will be overwritten!
Is there a way to upgrade and keep my existing settings? when I run the windows installer to do the upgrade, it asks me all the same complicated questions it asked when I first installed (about line endings, editor preferences etc.). What I really want is to just get the new version and keep all my existing settings
@Andy, I am not sure if it will cover every setting, but I would use the git-config command prior to upgrading, store your values in a script, upgrade with default settings and then use the script to customize your settings. Reference: git-scm.com/docs/git-config
The installer does not overwrite any settings, and all settings you can choose in the install default to their current values.
P
Peter Mortensen

If you just type

git update-git-for-windows

If you are having issues with it, run Bash as administrator or add the 'git.exe' path to the "allowed apps through controlled folder access".


This is deprecated
@JulienReszka yes it is but still will display the right command line which is "update-git-for-windows" and proceed to asking "Yes" or "No". Good thing they still display that warning and how to do it right up until now.
Nice, for some reason I thought this was still a complicated process of getting an installer or using chocolatey or something. This solution "just works".
Worked perfectly for me today.
P
Peter Mortensen

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

Check version: git --version If your Git version is 2.27.0.windows.1 or earlier If the version is equal to or greater than Git 2.27.0.windows.1 Use command git update-git-for-windows

If you want to see a video tutorial click here.


The video tutorial is not in English. What language is it in?
@PeterMortensen it's in Urdu.
S
SherylHohman

If you have already installed Git, you can update Git with the command

git update-git-for-windows

to know the current version, use:

git --version

You can run these commands in the cmd prompt.


I get the error: git: 'update-git-for-windows' is not a git command. See 'git --help'.
make sure you are in one of the user directory, like it should be C:\Users\Rohan> or else try git update (i know it is deprecated and older version) but it will show you a command for update of git like, for me it showed git update-git-for-windows.
only works from git bash, not cmd
it worked on cmd too
Worked via CMD like a charm!
P
Peter Mortensen

Just run:

git update-git-for-windows

be appropirate with your answer, where should we run it ?Did you mention this?
@RohanDevaki you can run it in git bash
R
Rajan Ponnappan

Using the command "where git" find out how command prompt picks up the version. Once you have the path, you can go ahead and uninstall / delete previous version completely. Then if you install and make sure the new installed location is in the path, it should just work fine.

Using git-friendly tools like cmder will make your life much easier. You don't really have to use dual boot or cygwin anymore since the support for git in windows is already top-notch now. (Git for windows installs msysgit which includes all necessary unix tools from MinGW. MinGW has been there for a while and is pretty stable. If you want you can install the full version of msysgit rather than Git for Windows. msysgit is available on Git for windows page at the bottom.)


Just realized that I answered a old question. But might be useful for others coming to this page...
the link to cmder is broken :(
where is not installed by default on Ubuntu (at least not later versions, e.g., Ubuntu 20.04 (Focal Fossa)).
J
Jaied

You can use,

git update

Or if you are on a Windows machine, you can run the command below,

git update-git-for-windows

Please do not duplicate existing answers, unless you want to add something new
git update is deprecated, if you use a windows machine you should use git update-git-for-windows instead
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

Based on Simon's answer, I first uninstalled the new version of Git. I then re-installed the new version of Git into the same directory as the old version, C:/RailsInstaller/Git, instead of the default directory C:/Git.

Now my Ruby on Rails terminal window shows that I am running the new Git version 1.8.0.


c
colidyre

If you look at the most recent update on Git's website in the "git via git" section you will see an option to update your older version.

Here is the command that git has on their site:

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

It worked for my version of git which was a 2.13.0.windows.1.


Okay, false alarm. The update shows as "done," however, the version shows as the same, so I uninstalled and downloaded the newest version of Git.
P
Peter Mortensen

To check out your PATH variable, act as follows:

From the Desktop, right-click My Computer and click Properties. Click the Advanced System Settings link in the left column. In the System Properties window click the Environment Variables button.

Once there, scroll to get the Path row. You'll get a long string of paths (e.g., C:\windows\bin;C:\program files\git, etc.).

Find the line or lines where git is referenced. Then, make sure this path point to your Git 1.8.x installation. If not, delete it and add the real path to the newest Git version. At the end, you should only have one path in the string linking to Git.


Thanks for the help, @Simon, but I'm still having problems. I was able to locate the Path row in my Environment Variables. You were correct in that it was directing to what seems to be an older version of Git. (Apparently, I have 2 versions. My original as installed via RailsInstaller located in the RailsInstaller directory, and the new one that I just installed in its own directory.) My Path row read C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\bin and based on your response, I changed it to C:\Git;C:\RailsInstaller\Ruby1.9.3\bin, but my terminal is still showing v 1.7.9...
Have you open a new command prompt after the change to check the version? Also, in C:\Git, you should have a git Bash, open it and checkout you have the right version in this bash, this will confirm this folder is where 1.8 is really installed. If nothing does it, try to uninstall the old version and reinstall the new one.
Thanks, @Simon! This didnt work exactly, but led me to the right answer, which I have outlined below. Appreciate the help!
A quicker way to get a list of paths is to open Powershell and enter the following: $env:path -split ';'
You can use where git to see where Git is installed. Make sure that path is in your PATH. I like @DaveSexton method above for viewing the PATH var. Is there a way to get a similar list from a Git Bash window, rather than Powershell?
P
Peter Mortensen

I don't think your problem is related to Windows' global PATH environment variable, as remote is specific to repositories.

I recommend you to use Git under Cygwin. Git could work under Windows command line, but there may be some weird problems hard to figure out. Under Cygwin it's more nature and has fewer errors.

All you need is to type bash in Window CMD, and then start to use the Unix tools and commands. You can use a shortcut to load bash; it's as easy as use normal Windows CMD.

The same is true for Ruby on Rails and Ruby. I used RailsInstaller before, but I found using Cygwin to install Rails is more stable.

Finally, I'll suggest to install Ubuntu dual boot if you have time (about a month to get familiar with it). Windows is not very friendly to every Unix tools ultimately. You'll find all pain stopped.


I've heard other people suggest this, but right now I feel I'm just too new to notice a difference in Cygwin vs Windows CMD.
Cygwin will mimic unix enviroment. All commands will look like native, and the enviroment vairables for unix will be in one place - under cygwin folder. If you are not prepared to linux, use cgywin at least.
Cygwin sucks, it's very bloated and there are loads of surprising and broken behaviors. If you want to use Git on Windows then you should definitly use Git for Windows - it even provides a native Windows bash and some *NIX tools. If you really want a full Linux environment on Windows, then go to the Microsoft Store and install one of them (Ubuntu, SUSE, Debian, Kali).
G
Geoffrey Duncan Opiyo

On my Windows 10, > git update-git-for-windows refused to work with curl issues. Only the below command worked.

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