我将使用 Yeoman 将基于 AngularJS 的静态站点部署为 Github 页面。部署说明的第 3 步告诉我要做什么
git subtree push --prefix dist origin gh-pages
但是当我输入时,我得到了
git: 'subtree' 不是 git 命令。请参阅“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' 不是 git 命令。请参阅“git --help”。
最后,我刚刚重新启动了 Ubuntu 12.10 并尝试再次运行该命令,但我又一次遇到了同样的错误。
为什么我已经升级到当前的稳定版本,git subtree
命令仍然无法运行?
最佳答案
它实际上安装在 Ubuntu 上,但出于某种原因,它没有放在 git 可以找到它的任何地方。最简单的方法是创建符号链接(symbolic link):
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上游修复此问题,但尚未 merge 。
更新 2: 在 Debian 中修复此问题的补丁已被 merge ,但由于他们采用了单独的 git-subtree
包的路线,我不认为这是将进入 Ubuntu 12.04。在 14.04 中似乎不是问题,因为 /usr/lib/git-core/git-subtree
已经由 git
包正确创建。
关于git - 为什么即使我在 Ubuntu 12.10 上安装了 git 1.8.3.2, `git subtree` 也不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17797328/