【问题标题】:How do I install subtree that ships with official Git install?如何安装官方 Git 安装附带的子树?
【发布时间】:2013-11-07 14:58:54
【问题描述】:

我从http://git-scm.com 下载并安装了最新的 Git 版本 1.8.4.2。我希望在/usr/local/git/contrib 中可以使用各种第三方 Git 模块(例如 Subtree)进行安装。但是,contrib 文件夹中仅包含一个文件夹 (completion),没有其他文件或文件夹。

所以我有两个问题:

为什么contrib 文件夹中缺少模块?

如果contrib 文件夹中没有Subtree,我该如何安装? (我更喜欢从官方 Git 源安装 Subtree,而不是从 https://github.com/apenwarr/git-subtree 安装,后者现在已经过时了)

顺便说一句,我正在运行 OS X Mavericks

【问题讨论】:

  • Git 子树是标准 git 安装的一部分 - git subtree 说什么?
  • 它说Subtree 不是 git 命令。虽然 subtree 是标准 git 安装的一部分,但默认情况下它没有安装,并且可以在 contrib 文件夹中进行安装。那是我过去安装它的地方。虽然这一次我缺少 contrib 文件夹中的子树和其他模块。
  • 也许是subtree 而不是Subtree
  • @twalberg 好吧,正如我提到的,contrib 中除了 completion 文件夹之外没有其他文件夹。这对我来说是个谜。我刚刚从安装程序中重新安装了 git,并且再次安装了同样的东西。他们是否从最新的安装程序中删除了模块?
  • 正如@user1615903 所提到的,subtree 不再位于contrib 部分——它现在包含在主要分布中。我的意思是它都是小写的,但你现在已经两次提到大写的Subtree,这是不正确的,所以检查你是否使用了正确的拼写 (git subtree) 是个好主意...

标签: git git-subtree


【解决方案1】:

有几种方法可以在 mac 上安装 git subtree,具体取决于您在系统上安装 git 的方式。

使用自制软件

如果您使用homebrew 安装 git,那么 subtree 以及其余的 git contrib 项目已经放置在您的系统上并且可以安装。安装子树:

  1. 启动终端并转到 /usr/local/share/git-core/contrib/subtree
  2. 运行make,它将准备子树。
  3. 运行make prefix=/usr/local/opt/git/ install。前缀很重要,因为 makefile 知道的默认位置不是它需要与 homebrew 一起安装的位置。

安装程序中的 Git

如果您使用来自git website 的安装程序下载并安装了 git,则安装 git-subtree 的方法不同:

  1. 由于 git contrib 没有放在您的系统上,您需要检查 git source。不用担心编译或安装 git。您只需要访问 contrib director 即可安装子树(主要是 shell 脚本)。
  2. 在终端中进入 git/contrib/subtree 目录。
  3. 运行 make 准备子树。
  4. 运行 sudo make prefix=/usr install。前缀对于将其安装在正确的位置很重要。 注意,你需要使用 sudo 来安装它,因为它在系统上的位置。
  5. 删除 git 源(除非您出于其他原因想要保留它)。

参考:how-to-install-git-subtree

【讨论】:

  • 只是说,安装程序(OSX)将git放入/usr/local/git,所以我不得不使用sudo make prefix=/usr/local/git/ install
  • “安装程序中的 Git”方法在我稍旧的 Debian 7 服务器上进行了一些调整。我成功地让“git subtree”命令工作,但有一些兼容性问题。第一个错误:“班次:不能转移那么多”。我想通过谷歌搜索和修复与我的 bash 版本的不兼容来修复它,我想? (4.2.37)。下一个错误:致命:无法识别的参数:--no-show-signature。通过删除“--no-show-signature 标志”的所有用法也解决了这个问题......不确定现在会有什么更强大的解决方案。
【解决方案2】:

当前 Homebrew 安装的 git (v2.4.1) 似乎带有开箱即用的 git-subtree。只需执行brew install gitbrew update && brew upgrade git 就可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 2015-02-01
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多