2013-02-27 52 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