2

Mac OS X Lion 下使用which git查看 git 发现位于/usr/bin/git目录下,可能是安装 Xcode 时一起装上来的,版本是 1.7.5.4。

想升级到新版本,下载 git-osx-installer 安装完成后,在命令行里查看却仍是旧版本,查阅资料发现这个安装包是将 git 装在/usr/local/git目录下。

我想使用这个新版本的 git,请问该如何设置呢,或者有别的方法?

8个回答

1

已采纳
cd /usr/bin
mv git git_legacy_1.7.5.4
ln -s /usr/local/git ./
3

其实是两个问题。
一个是高版本的git如何安装?
git-osx-installer也好,用brew也好都可以。
建议用brew安装:
brew install git

另一个是如何让新装的git覆盖老的git?
建议修改~/.bash_profile,加入以下内容:
export PATH=/usr/local/bin:/usr/local/sbin:${PATH}
这样可以让bash优先搜索/usr/local下的指令,而且不会覆盖老文件,比较安全。

1

我也更新了下我的git。用homebrew更新的很方便。
如果你装了homebrew了的话:

brew install git

我的做法是:
更新后

sudo cd /usr/bin
sudo mkdir old-git-1.7.5.4
sudo mv git* old-git-1.7.5.4

这样的好处是git的其他组件也到最新的了。而且git补全的时候不会出现旧的git

1

我也是用brew安装的git,最开始用OSX Lion的时候一直用的是brew安装的git,后来重新安装了 OSX Mountain Lion之后,发现默认的git是系统自带的,版本又比较旧,我又是一个升级强迫症患者, 也曾考虑像 @吼吼 去修改path 但是因为一些自己不确定的原因(刚开始用Mac时遇到的一些问题)担心把/usr/local/bin 放到前面可能会影响一些自己不注意的东西,后来索性在 .zshrc(我用zsh)里

alias git="/usr/local/bin/git"

目前一切都运行正常,也不影响别的。也没什么副作用

0

我是用了这个办法 http://apple.stackexchange.com/a/3913...

改了.bash_profile这个文件.然后让/usr/local/bin这个文件夹出现在/usr/bin之前.
虽然我是从git的官方网站上下载的安装dmg文件. 但是却不能安装. 需要改路径才行.
我也知道可以用brew的方式安装. 但是个人感觉那个有些时候不是最新的发行版本. 而且老是从SourceForge等第三方网站下载,速度不是很快.(可能是GFW的缘故)

话说这玩意好像是苹果自带的Xcode惹的祸.
http://apple.stackexchange.com/q/2012...

0

我是先安装的xocde,所以会自带了一个git,版本为1.8.5。

然后我希望安装新版本的git替代1.8.5, 我的做法是:
先安装brew, -> brew install git -> brew doctor

注意,brew doctor会自动检测一些设置,并且提示你修改,比如让brew下载的命令在PATH的最前面。
这样在git就能被替换为新版本了,且可以通过brew更新。

0

brew install git
...
➜ meetup git:(master) git --version
git version 1.9.3 (Apple Git-50) //旧版本
➜ meetup git:(master) which git
/usr/bin/git
➜ meetup git:(master) sudo mv /usr/bin/git /usr/bin/git-1.9.3
Password:
➜ meetup git:(master) which git
/usr/local/bin/git
➜ meetup git:(master) git --version
git version 2.2.1
// 搞定

0

1 mac系统下推荐使用homebrew进行组件的安装。
2 安装好homebrew终端:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
3 将homebrew升级到最新版本

brew update

4 通过最新版本的homebrew来查看有哪些需要更新的软件。(以git为例)

brew outdated  ##列出过时的软件包

5 若是git需要跟新那就:

 brew upgrade git  ##若是有跟新洁癖,那就把后面的git 去掉 使用 brew upgrade进行所有包的跟新。

撰写答案