2012-10-26 32 views
4

换句话说,是否有一个管理git版本的工具,类似于nvmrvm为node和ruby(分别)做的工作?有没有简单的方法来管理多个版本的git?

编辑:

我想我的问题的称号是一种误导。本质上我不想同时使用多个版本。这只是令人讨厌的下载源码包和手动构建/安装。简化这个过程会很棒。虽然有一些通用的包管理工具,如brew,yumapt,但它们可能很慢得到更新,并且它们在不同平台之间有所不同。有一个简单的界面,安装/升级的git会让我开心:)

比方说,我想熬夜到最新与最新的Git版本,甚至是新的保鲜盒/帐户安装,而不必手动完成所有构建步骤。在我的完美的世界里,这将是刚刚做这样的事情一样容易:

$ git --version 
-bash: git: command not found 
$ curl -sL https://SOMEURL | bash use latest 
downloading v1.8.0... 
building v1.8.0... 
done! 
using git v1.8.0 
$ git --version 
git version v1.8.0 
$ gvm ls 
    v1.8.0 
* default -> 1.8 (v1.8.0) 

或者,升级就像如下:

$ git --version 
git version 1.7.9.1 
$ gvm ls 
    v1.7.9.1 
    v1.7.8 
    v1.7.7.5 
* default -> 1.7 (v1.7.9.1) 
$ gvm install latest 
downloading 1.8.0... 
building 1.8.0... 
done! 
$ gvm alias default 1.8 
$ gvm use default 
now using git v1.8.0 
$ git --version 
git version 1.8.0 
$ gvm ls 
    v1.8.0 
    v1.7.9.1 
    v1.7.8 
    v1.7.7.5 
* default -> 1.8 (v1.8.0) 
+3

只是好奇,但为什么? – adamdunson

+0

我编辑了我的答案,以详细说明可用内容。 – VonC

回答

3

考虑到“Git repository backwards compatibility”非常稳定,使用多个git版本的原因很低。
大部分缺失的功能都会影响客户端,而不是从远程存储库推送/拉出(some transport mechanisms lacking for git prior to 1.6.4除外)的能力。

这就是为什么没有专门的工具。
话虽这么说:

  • 没有妨碍你,只要你想在本地编译尽可能多的git的,具有不同的安装路径。
  • 您仍然可以使用yum install git-core,或者如果您使用的是基于Debian的发行版,如Ubuntu,apt-get install git-core
    但是,那won't allows for a multiple installation of the same package
    但是,您仍然可以在任何给定时间搜索并选择您想要的一个版本:yum search git-core
+0

感谢您的回答,VonC。你的答案与乔丹的答案非常相似:)我想解决方案必须是使用每个发行版的包管理器。 – execjosh

+1

在windows上,我知道一个很重要的原因 - 主要的git发行版msysgit确实对cygwin版本没有的目录路径长度有很大的限制。但那是在Windows上,因此与OP所要求的不相关......只是说这个话题本身即使在那里也是相关的。 – eis

+0

@execjosh我实际上并没有看到Jordan答案的包管理器部分(upvoted):我主要想解释*为什么Git没有这样的工具。 – VonC

4

不,我已经听说过。但是,您可以利用发行版的软件包管理器来执行此任务。

例如,安装了Homebrew的Mac用户可以使用brew switch命令更改特定软件包的当前活动版本。同样的技巧可以与许多其他软件包管理器一起使用。

+0

感谢您的回答,乔丹。你的答案和VonC非常相似:)我想这个解决方案必须是使用每个发行版的包管理器。 – execjosh

相关问题