How to upgrade Git to latest version on macOS?
MacosGitMacos Problem Overview
I just bought a new Mac with OS X Lion and I checked in the Terminal what version of git is installed by default. I got the answer
git --version
> git version 1.7.5.4
I would like to upgrade git to the latest version 1.7.8.3, so I downloaded the dmg installer "git-1.7.8.3-intel-universal-snow-leopard.dmg" and I launched it.
After the install, the Terminal still says that the version is 1.7.5.4. What am I doing wrong?
Macos Solutions
Solution 1 - Macos
It's simple if you already have Homebrew: Assuming you have homebrew installed, type the following:
brew install git
This should automatically install git and set it in your path, replacing the Apple one.
Now quit and restart your terminal.
Then check git version to confirm.
git --version
If the output of the above command shows the latest version and does not mention Apple with the version details, then you are all set.
If however you still see apple version, then type the following two lines, which will manually set our path to the local git distro instead of the Apple one.
export PATH=/usr/local/bin:$PATH
git --version
IF YOU DON'T HAVE HOMEBREW, FOLLOW THESE STEPS
Check version
$ git --version
Backup (or remove) Apple git (Optional)
$ sudo mv /usr/bin/git /usr/bin/git-apple
Install Homebrew if you didn’t have
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Or update if you already have
$ brew update && brew upgrade
Install Git with Homebrew
$ brew install git
Symbolic link
$ brew link --force git
Quit terminal and open a new terminal, then check version.
$ git --version
You should see…
git version <latest version>
Nice! We’re safe now! And next time you can just…
$ brew update && brew upgrade
Solution 2 - Macos
if using homebrew you can update sim links using
brew link --overwrite git
Solution 3 - Macos
It would probably be better if you added:
export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH
to a file named .bashrc in your home folder. This way any other software that you might install in /usr/local/git/bin
will also be found first.
For an easy way to do this just type:
echo "export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH" >> ~/.bashrc
into the Terminal and it will do it for you.
Solution 4 - Macos
For me, with Homebrew 1.6.7
, the following worked:
brew upgrade git
Solution 5 - Macos
I used the following to upgrade git on mac.
hansi$ brew install git
hansi$ git --version
git version 2.19.0
hansi$ brew install git
Warning: git 2.25.1 is already installed, it's just not linked
You can use `brew link git` to link this version.
hansi$ brew link git
Linking /usr/local/Cellar/git/2.25.1...
Error: Could not symlink bin/git
Target /usr/local/bin/git
already exists. You may want to remove it:
rm '/usr/local/bin/git'
To force the link and overwrite all conflicting files:
brew link --overwrite git
To list all files that would be deleted:
brew link --overwrite --dry-run git
hansi$ brew link --overwrite git
Linking /usr/local/Cellar/git/2.25.1... 205 symlinks created
hansi$ git --version
git version 2.25.1
Solution 6 - Macos
After searching for "trouble upgrading git on mac" on Google, I read several posts and attempted the following before resolving the problem by completing step 4:
-
I updated my terminal path by using the above mention export command. Every time I quit the terminal and restarted it, when I typed
git --version
the terminal, it still return the older version 1.8. -
I followed the README.txt instructions for upgrading to the current version 2.0.1 that comes with the .dmg installer and when I restarted the terminal, still no go.
-
I looked for /etc/path/ folder as instructed above and the directory called "path" does not exist on my Mac. I am running OS X Mavericks version 10.9.4.
-
Then I recalled I have Homebrew installed on my Mac and ran the following:
brew --version brew update brew search git brew install git
This finally resolved my problem. If anyone has some insight as to why this worked, further insight would be greatly appreciated. I probably have some left over path settings on my system from working with Ruby last year.
Solution 7 - Macos
I recently upgraded the Git on my OS X machine to the latest also. I didn't use the same .dmg
you used, but when I installed it the binaries were placed in /usr/local/bin
. Now, the way my PATH
was arranged, the directory /usr/bin
appears before /usr/local/bin
. So what I did was:
cd /usr/bin
mkdir git.ORIG
mv git* git.ORIG/
This moves the several original programs named git*
to a new subdirectory that keeps them out of the way. After that, which git
shows that the one in /usr/local/bin
is found.
Modify the above procedure as necessary to fit wherever you installed the new binaries.
Solution 8 - Macos
@rafaecheve's response worked perfectly in my case as a Mac user. I had a couple versions of git installed on my machine but using the package manager, Homebrew, and the following code:
brew link --overwrite git
I received this confirmation
Linking /usr/local/Cellar/git/2.32.0... 212 symlinks created.
Voila!
Solution 9 - Macos
The installer from the git homepage installs into /usr/local/git
by default. However, if you install XCode4, it will install a git version in /usr/bin
. To ensure you can easily upgrade from the website and use the latest git version, edit either your profile information to place /usr/local/git/bin
before /usr/bin
in the $PATH or edit /etc/paths
and insert /usr/local/git/bin
as the first entry.
It may help to someone at-least changing the order in /etc/paths worked for me.
Solution 10 - Macos
the simplest way I found so far is from git official website. It just computed dependencies and downloaded all of the required libraries/tools
http://git-scm.com/book/en/Getting-Started-Installing-Git
> The other major way is to install Git via MacPorts > (http://www.macports.org). If you have MacPorts installed, install Git > via > > $ sudo port install git-core +svn +doc +bash_completion +gitweb
Solution 11 - Macos
Without Homebrew
- Use the installer from git's website.
- Update your
~/.bash_profile
file. Notice this command differs from kmikael's answer by what it puts in the file:
- Other command:
export PATH=/usr/local/git/bin:/usr/local/sbin/:[and so on]
- Below command:
export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH"
- Use whichever one you prefer.
echo 'export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile
- If you're using Xcode, you'll need to add some symbolic links.
- Example:
ln -s /opt/local/bin/git /usr/bin/git
- Restart terminal.
which git
should say the directory in theREADME.txt
file from the dmg.git --version
should say the updated version.echo $PATH
should start with/usr/local/git/bin:/usr/local/sbin:
Solution 12 - Macos
In order to keep both versions, I just changed the value of PATH environment variable by putting the new version's git path "/usr/local/git/bin/" at the beginning, it forces to use the newest version:
>$ echo $PATH > > /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin/ > >$ git --version > >git version 2.4.9 (Apple Git-60)
original value: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin/
new value: /usr/local/git/bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin
>$ export PATH=/usr/local/git/bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin > >$ git --version > >git version 2.13.0
Solution 13 - Macos
The latest version was not available as a binary for mac on git-scm.com, so I installed from source. I was missing a required package for localization, and added NO_GETTEXT=true
to install without localization.
git clone https://github.com/git/git.git
cd git
make NO_GETTEXT=true
make NO_GETTEXT=true install
This installed git
under ~/bin
which I then had to add to the beginning of my PATH
variable.
Solution 14 - Macos
I prefer not to alter the path hierarchy, but instead deal with git specifically...knowing that I'm never going to use old git to do what new git will now manage. This is a brute force solution.
NOTE: I installed XCode on Yosemite (10.10.2) clean first.
I then installed from the binary available on git-scm.com.
$ which git
/usr/bin/git
$ cd /usr/bin
$ sudo ln -sf /usr/local/git/bin/git
$ sudo ln -sf /usr/local/git/bin/git-credential-osxkeychain
$ sudo ln -sf /usr/local/git/bin/git-cvsserver
$ sudo ln -sf /usr/local/git/bin/git-receive-pack
$ sudo ln -sf /usr/local/git/bin/git-shell
$ sudo ln -sf /usr/local/git/bin/git-upload-archive
$ sudo ln -sf /usr/local/git/bin/git-upload-pack
$ ls -la
(you should see your new symlinks)
Solution 15 - Macos
I did it in this way:
- Open GitHub application installed on Mac
- Click on Advanced tab → Install command line tools
- Once you get a message that all commands have been installed close your terminal and reopen it.
- Now check
git --version
, it should give you the latest version.
Solution 16 - Macos
You need to adjust shell path , the path will be set in either .bashrc
or .bash_profile
in your home directory, more likely .bash_profile
.
So add into the path similar to the below and keep what you already have in the path, each segment is separated by a colon:
export PATH="/usr/local/bin:/usr/bin/git:/usr/bin:/usr/local/sbin:$PATH"
Solution 17 - Macos
You can do this without any commands. The Git installer mentioned by Katrina is the solution, but it's easier to do this:
-
To enter the link - https://sourceforge.net/projects/git-osx-installer/
-
Under "Project Activity" select the latest version, download and open the file with the extension .pkg.
-
Then, in the Security & Privacy system preferences, select the "Open anyway" option. After installation, you will have the latest version of the git
Solution 18 - Macos
On macOS Monterey homebrew puts the binaries at /opt/homebrew/bin
Adding this to the .bash_profile
will precedence homebrew git over apple-git
export PATH=/opt/homebrew/bin:$PATH