Why is the `git subtree` not working even though I have git 1.8.3.2 installed on Ubuntu 12.10?
I am about to deploy my AngularJS based static site as a Github Page with Yeoman. Step 3 of the deployment instructions tell me to do
git subtree push --prefix dist origin gh-pages
but when I enter that I get
git: 'subtree' is not a git command. See 'git --help'.
This SO answer provided me instructions on how to upgrade to the latest git-core and ensure it always get upgraded to the latest stable release.
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
After running those commands I did git --version
to make sure I had the latest version and apparently I did since git version 1.8.3.2
was the output. Now when I tried running
git subtree push --prefix dist origin gh-pages
again I still got the same following error
git: 'subtree' is not a git command. See 'git --help'.
Finally I just restarted Ubuntu 12.10 and tried to run the command again but once again, I got the same error.
How come the git subtree
command is still not working even though I have upgraded to the current stable release?
It doesn't seem to be installed by the default package. This site has some directions: http://engineeredweb.com/blog/how-to-install-git-subtree
It actually is installed on Ubuntu but for some reason it's not put anyplace where git can find it. Easiest way is to create a symlink:
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: looks like a patch has been submitted upstream to fix this but it hasn't yet been merged.
UPDATE 2: the patch to fix this in Debian has been merged, but since they went the route of a separate git-subtree
package I don't think this will make it to Ubuntu 12.04. Seems to not be an issue in 14.04 as /usr/lib/git-core/git-subtree
is already created correctly by the git
package.
上一篇: 无法通过Git跟踪长PATH中的文件