git - 使用 git 更新自身

标签 git ubuntu updates

我在 git 下载页面上看到 http://git-scm.com/downloads [在许多其他教程页面中],您可以通过自身更新 git。目前我的桌面有 git 1.7.9.5,最新的是 1.8.1.3

我正在运行 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,只需键入此命令”。

如果之前有人回答过这个问题,我深表歉意。如果有人知道我在哪里可以找到缺少的步骤,我将非常感谢链接/解释。

我也很抱歉,这似乎是一件非常简单的事情,我自己无法弄清楚。

最后,我非常感谢所有能帮助我找到答案的人!

编辑 2013 年 18 月 3 日: 所以当我这周买了一台新笔记本电脑时,我不得不再次这样做;感谢你们,我能够运行 git --version 并返回 git version 1.8.2

我按照 git 书中的说明进行操作,谢谢 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 ,但我不明白这样做的意义或执行此操作时发生的情况。

最佳答案

“用 git 更新 git”意味着在克隆 https://github.com/git/git 后用 git pull 更新 git repo sources .

您仍然需要从上述来源构建 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 中安装更新后的 git,请确保该路径在您自己的 $PATH 环境变量中排在第一位(您可以 set in your .profile )


另一种方法是使用 apt-install(参见“How to upgrade Git on Ubuntu Hardy?”),但是当我 look for the package git-core , Precise package只上升到 git_1.7.9.5。
这就是为什么从源代码构建可以替代等待 git-core 更新的替代方法。

关于git - 使用 git 更新自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15124205/

相关文章:

git - 删除推送提交但保留本地更改

git - 防止从分支推送到特定的远程

java - 如何强制 EclipseLink 的 @PrivateOwned 在插入前执行删除

c# - 如何敦促用户在进入网站时更新用户的浏览器

git - 如何对本地 git 分支链进行 rebase ?

git - 在 github 上标记消息

python - Ubuntu、cx_Freeze 和 multiprocessing.Manager() 在 "spawn"类型进程的情况下发生冲突

git - 裸存储库权限。

tensorflow - 如何编译 TensorFlow 二进制文件以使用 AVX2、AVX512F、FMA?

Cassandra CQL3 条件插入/更新