为什么即使我在Ubuntu 12.10上安装了git 1.8.3.2,`git subtree`也无法正常工作?

37 git ubuntu git-subtree

我即将部署基于AngularJS的静态站点作为与Yeoman的Github页面.部署说明的第3步告诉我要做

git subtree push --prefix dist origin gh-pages

但当我进入时,我得到了

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

这个SO答案提供了有关如何升级到最新git-core的说明,并确保它始终升级到最新的稳定版本.

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
Run Code Online (Sandbox Code Playgroud)

运行这些命令后,我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即使我升级到当前的稳定版本,命令仍然无法正常工作?

Tob*_*s J 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
Run Code Online (Sandbox Code Playgroud)

更新1:看起来上游已提交修补程序以修复此问题,但尚未合并.

更新2:在Debian中修复此问题的修补程序已合并,但由于它们是单独git-subtree程序包的路径,我认为这不会成为Ubuntu 12.04.似乎不是14.04中的问题,因为包/usr/lib/git-core/git-subtree已正确创建git.

  • 即使在从git-core/ppa更新到最新版本后,也找不到子树.这个解决方案对我来说是真正的解决方案(Linux Mint 14) (2认同)

TeT*_*TeT 22

它似乎没有被默认包安装.该网站有一些指示:http://engineeredweb.com/blog/how-to-install-git-subtree

  • 在Ubuntu它已经安装,但我不得不添加一个simlink:http://cogumbreiro.blogspot.com/2013/05/how-to-install-git-subtree-in-ubuntu.html (6认同)

Ale*_*x F 8

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

dnf install git-subtree