2013-02-27 76 views
3

我在git下載頁面上看到http://git-scm.com/downloads [在許多其他教程頁面中]可以通過自己更新git。目前我的桌面已經Git的1.7.9.5和最新的1.8.1.3使用git自我更新

我運行Ubuntu 12.04 LTS,並在主目錄[〜/]

運行這些命令我跑以下命令,有以下輸出:

~$ git version 
git version 1.7.9.5 
~$ git clone https://github.com/git/git.git 
Cloning into 'git'... 
remote: Counting objects: 149633, done. 
remote: Compressing objects: 100% (49646/49646), done. 
remote: Total 149633 (delta 109386), reused 136311 (delta 98050) 
Receiving objects: 100% (149633/149633), 34.92 MiB | 864 KiB/s, done. 
Resolving deltas: 100% (109386/109386), done. 
~$ git version 
git version 1.7.9.5 

最終結果是git版本是一樣的。唯一的區別是現在在我的主目錄中有一個名爲git的文件夾,我只能假設構成軟件的文件。我明顯錯過了幾個步驟,我搜索了Google和YouTube上的所有內容以查找演練或某種進一步的解釋,而不是「通過git獲得git,只需輸入此命令」。

如果此問題之前已得到解答,我表示歉意。如果有人知道我在哪裏可以找到缺失的步驟,我非常感謝鏈接/解釋。

我也很抱歉,這似乎是一個令人痛苦的簡單的事情,我無法自己弄清楚。

最後,我非常感謝任何人和所有誰將幫助我找到答案!

編輯3.18.13: 所以我最終不得不這樣做,當我有一臺新的筆記本電腦本週,感謝你們,我是能夠運行git --version並取回git version 1.8.2

我跟着從混帳書的方向,感謝iltempo

然後,編譯並安裝:

$ tar -zxf git-1.7.2.2.tar.gz 
$ cd git-1.7.2.2 
$ make prefix=/usr/local all 
$ sudo make prefix=/usr/local install 

除了我從github獲得了一個zip文件,所以我解壓縮了它。我沒有做任何其他步驟...

這是/是我第一次從源代碼構建的東西,所以我真的不知道什麼平均值以下一些條款提到:

「確保/usr/local/bin被預先計劃你的路徑'iltempo

我看到how to add a directory to my path,但我不明白這個意思或當我這樣做時發生了什麼。

+1

本教程應該對您有所幫助:http://git-scm.com/book/en/Getting-Started-Installing-Git#Installing-from-Source – iltempo 2013-02-27 23:05:53

+0

感謝您的快速響應。我應該補充說我嘗試了這種方法。我在Ubuntu上,所以我試着「$ sudo apt-get install git」 輸出說我已經有了最新版本。這不是真的。當然,我在嘗試通過apt-get安裝之前已經做了apt-get更新。 編輯:對不起,你是否建議我按照指示編譯和安裝?如果是這樣,我會嘗試,然後發佈它如何去。 – jguerra 2013-02-27 23:08:35

+1

如果你從源代碼構建git(不使用yum或apt-get),它應該以'/ usr/local/bin/git'結尾。如果你確保'/ usr/local/bin'被預先添加到你的路徑中,你應該在運行'git'時獲得新版本。 – iltempo 2013-02-27 23:13:07

回答

7

「更新的git使用git」是指更新的git回購來源git pull,一旦你已經克隆https://github.com/git/git

您仍然需要build git來源,並在看到git --version命令的區別之前安裝它。

參見「INSTALL」文件:

$ make prefix=/usr/local all doc info ;# as yourself 
# make prefix=/usr/local install install-doc install-html install-info ;# as root 

既然你是在/ usr/local/bin目錄安裝該更新的混帳,確保路徑是第一位在自己的$PATH環境變量(你可以set in your .profile


另一種方法是使用易於安裝(見「How to upgrade Git on Ubuntu Hardy?」),但是當我look for the package git-corePrecise package只上升到git_1.7.9.5。
這就是爲什麼從源代碼構建可以成爲等待git-core更新的替代方案。

+3

-1:**不要**直接安裝到'/ usr'中,這是程序包管理器的域。要麼安裝到'/ usr/local'中,要麼至少使用[CheckInstall](http://www.debian-administration.org/articles/147)。 – 2013-02-28 09:25:37

+0

@MichaelWild肯定。我已經修好了路。 – VonC 2013-02-28 10:08:58

+0

之後,您仍然需要確保/ usr/local先在PATH中出現。 – pmr 2013-02-28 10:13:42

1

git使用標準的GNU自動工具設置,請參閱源文件中的INSTALL文件。然後你可以做標準./configure; make; make install跳舞。

我個人用我在.bashrc設置了prefix=$HOME,並有alias git=~/bin/git,所以PATH不是一個問題。

+0

如果您獨自在此服務器上,並且希望只有您從此升級中受益,那麼這也是一個不錯的選擇。這樣可以避免修改系統路徑中程序的任何意想不到的副作用(就像我的答案所暗示的那樣)。 +1 – VonC 2013-03-01 02:43:55