2012-10-26 72 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

相關問題