Почему «поддерево git» не работает, хотя у меня установлен git 1.8.3.2 в Ubuntu 12.10?

Я собираюсь развернуть свой статический сайт на основе AngularJS в качестве страницы Github с Yeoman. Шаг 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

После выполнения этих команд я сделал 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 все еще не работает, хотя я обновился до текущей стабильной версии?


person Community    schedule 22.07.2013    source источник
comment
Кажется, он не установлен пакетом по умолчанию. На этом сайте есть несколько направлений: engineeredweb.com/blog/how-to-install -git-поддерево   -  person TeTeT    schedule 23.07.2013
comment
Ааа точно спасибо. Это сделало это. Не стесняйтесь отвечать на него, и я отмечу его правильным, если хотите.   -  person    schedule 23.07.2013


Ответы (3)


Кажется, он не установлен пакетом по умолчанию. У этого сайта есть несколько направлений: http://engineeredweb.com/blog/how-to-install-git-subtree

person TeTeT    schedule 22.07.2013
comment
В Ubuntu он уже был установлен, но мне пришлось добавить симлинк: cogumbreiro.blogspot.com/2013/05/ - person thebenedict; 10.10.2013
comment
@thebenedict Интересно! Кстати, для создания справочной страницы требуется огромный набор инструментов. Я нашел патч, добавляющий готовую справочную страницу, git-subtree.1: code.google.com/p/git-core/issues/detail?id=18 - person 13ren; 16.11.2013

На самом деле он установлен в 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. Кажется, это не проблема в 14.04, так как /usr/lib/git-core/git-subtree уже правильно создан пакетом git.

person Tobias J    schedule 21.11.2013
comment
Даже после обновления до последней версии из git-core/ppa поддерево не найдено. Это решение - настоящее исправление для меня (Linux Mint 14) - person powlo; 02.12.2013

В Fedora он доступен как отдельный пакет:

dnf install git-subtree

person Alex F    schedule 23.10.2019