web-dev-qa-db-fra.com

Pourquoi le «sous-arbre git» ne fonctionne-t-il pas alors que git 1.8.3.2 est installé sur Ubuntu 12.10?

Je suis sur le point de déployer mon site statique basé sur AngularJS en tant que page Github avec Yeoman. L'étape 3 des instructions de déploiement me dit de faire

git subtree Push --prefix dist Origin gh-pages

mais quand j'entre, je reçois

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

Ceci La réponse SO m'a fourni des instructions sur la façon de mettre à niveau vers la dernière version de git-core et de s'assurer qu'elle soit toujours mise à niveau vers la dernière version stable.

Sudo add-apt-repository ppa:git-core/ppa
Sudo apt-get update
Sudo apt-get install git

Après avoir exécuté ces commandes, j'ai fait git --version pour m'assurer que j'avais la dernière version et apparemment je l'ai fait depuis git version 1.8.3.2 était la sortie. Maintenant, quand j'ai essayé de courir

git subtree Push --prefix dist Origin gh-pages

encore une fois j'ai toujours la même erreur suivante

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

Enfin, je viens de redémarrer Ubuntu 12.10 et j'ai essayé d'exécuter à nouveau la commande, mais encore une fois, j'ai eu la même erreur.

Comment se fait-il que le git subtree la commande ne fonctionne toujours pas même si je suis passé à la version stable actuelle?

39
user883807

Il ne semble pas être installé par le package par défaut. Ce site a quelques directions: http://engineeredweb.com/blog/how-to-install-git-subtree

22
TeTeT

Il est en fait installé sur Ubuntu mais pour une raison quelconque, il n'est placé nulle part où git peut le trouver. Le moyen le plus simple est de créer un lien symbolique:

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

MISE À JOUR 1: ressemble à un n correctif a été soumis en amont pour résoudre ce problème mais il n'a pas encore été fusionné.

MISE À JOUR 2: le correctif pour corriger cela dans Debian a été fusionné, mais depuis qu'ils ont emprunté la route d'un git-subtree package Je ne pense pas que cela arrivera à Ubuntu 12.04. Semble ne pas être un problème dans 14.04 comme /usr/lib/git-core/git-subtree est déjà créé correctement par le package git.

46
Tobias J

Sur Fedora, il est disponible dans un package séparé:

dnf install git-subtree

1
Alex F