我即将部署基于AngularJS的静态站点作为与Yeoman的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
命令仍然无法正常工作?
答案 0 :(得分:46)
它实际上是安装在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
UPDATE 1:看起来像patch has been submitted上游来修复此问题,但尚未合并。
更新2:在Debian中修复此修补程序的修补程序已合并,但由于它们是单独的git-subtree
程序包的路径,我认为这不会使它成为Ubuntu 12.04。由于/usr/lib/git-core/git-subtree
包已正确创建git
,因此14.04似乎不是问题。
答案 1 :(得分:22)
默认包似乎没有安装它。该网站有一些指示:http://engineeredweb.com/blog/how-to-install-git-subtree
答案 2 :(得分:0)
在Fedora上,它是作为单独的软件包提供的:
dnf install git-subtree