为什么git subtree不工作,即使我在Ubuntu 12.10上安装了git 1.8.3.2?

我即将部署我的基于AngularJS的静态网站作为与Yeoman的Github页面。 部署指令的第3步告诉我这样做

git subtree push --prefix dist origin gh-pages

但是当我input时,我得到

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

这个回答为我提供了关于如何升级到最新的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命令仍然无法正常工作?

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

它实际上是安装在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:看起来像补丁已经提交上游来解决这个问题,但它尚未合并。

更新2:在Debian中解决这个问题的补丁已经合并,但是由于他们走了一个单独的git-subtree包的路线,我不认为这会使它成为Ubuntu 12.04。 由于git包已经正确创建了/usr/lib/git-core/git-subtree所以在14.04中似乎不成问题。