【问题标题】:Why is the `git subtree` not working even though I have git 1.8.3.2 installed on Ubuntu 12.10?为什么即使我在 Ubuntu 12.10 上安装了 git 1.8.3.2,`git subtree` 也不起作用?
【发布时间】:2013-07-21 18:19:41
【问题描述】:

我即将使用 Yeoman 将基于 AngularJS 的静态站点部署为 Github 页面。部署说明的第 3 步告诉我要做什么

git subtree push --prefix dist origin gh-pages

但是当我输入时我得到了

git: 'subtree' is not a git command. See 'git --help'.

这个SO answer provided me instructions 关于如何升级到最新的 git-core 并确保它总是升级到最新的稳定版本。

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

运行这些命令后,我执行了git --version 以确保我拥有最新版本,显然我这样做了,因为git version 1.8.3.2 是输出。现在当我尝试运行时

git subtree push --prefix dist origin gh-pages

我仍然遇到相同的以下错误

git: 'subtree' is not a git command. See 'git --help'.

最后,我刚刚重新启动了 Ubuntu 12.10 并尝试再次运行该命令,但又遇到了同样的错误。

为什么即使我已经升级到当前的稳定版本,git subtree 命令仍然不起作用?

【问题讨论】:

标签: git ubuntu git-subtree


【解决方案1】:

默认包似乎没有安装它。这个网站有一些方向:http://engineeredweb.com/blog/how-to-install-git-subtree

【讨论】:

【解决方案2】:

它实际上安装在 Ubuntu 上,但由于某种原因,它没有放在 git 可以找到它的任何地方。最简单的方法是创建符号链接:

sudo chmod +x /usr/share/doc/git/contrib/subtree/git-subtree.sh
sudo ln -s /usr/share/doc/git/contrib/subtree/git-subtree.sh /usr/lib/git-core/git-subtree

更新 1: 看起来像 patch has been submitted 上游来解决此问题,但尚未合并。

更新 2: 在 Debian 中修复此问题的补丁已合并,但由于他们采用了单独的 git-subtree 软件包,我认为这不会适用于 Ubuntu 12.04。在 14.04 中似乎不是问题,因为 /usr/lib/git-core/git-subtree 已经由 git 包正确创建。

【讨论】:

  • 即使从 git-core/ppa 更新到最新版本,也找不到子树。这个解决方案对我来说是真正的解决方案(Linux Mint 14)
【解决方案3】:

在 Fedora 上,它作为一个单独的包提供:

dnf install git-subtree

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 2012-07-29
    • 2015-04-20
    • 1970-01-01
    • 2020-05-11
    • 2012-08-13
    • 2013-11-14
    • 2013-11-16
    • 1970-01-01
    相关资源
    最近更新 更多