2013-07-22 12 views
32

Ich bin dabei, meine AngularJS-basierte statische Site als Github-Seite mit Yeoman zu implementieren. Schritt 3 der Bereitstellungsanweisungen sagen Sie mirWarum funktioniert der `git subtree` nicht, obwohl ich git 1.8.3.2 auf Ubuntu 12.10 installiert habe?

git subtree push --prefix dist origin gh-pages

zu tun, aber wenn ich geben, dass ich

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

Diese SO answer provided me instructions, wie man die neuesten git-core Upgrade erhalten und sicherzustellen, dass es immer auf die neueste stabile Version aktualisiert werden.

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

Nachdem diese Befehle ausgeführt ich git --version tat, um sicherzustellen, hatte ich die neueste Version und anscheinend habe ich seit git version 1.8.3.2 der Ausgang war. Nun, als ich versuchte

lief

git subtree push --prefix dist origin gh-pages

wieder bekam ich noch die gleichen folgenden Fehler

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

Schließlich gerade neu gestartet ich Ubuntu 12.10 und versuchte, den Befehl erneut zu laufen, aber noch einmal, ich hatte der gleiche Fehler.

Wie funktioniert der git subtree Befehl immer noch nicht, obwohl ich auf die aktuelle stabile Version aktualisiert habe?

+1

Es scheint nicht vom Standardpaket installiert zu sein. Diese Seite hat einige Richtungen: http://engineeredweb.com/blog/how-to-install-git-subtree/ – TeTeT

+0

Ahh richtig danke. Das hat es getan. Fühlen Sie sich frei, es zu beantworten, und ich werde es richtig markieren, wenn Sie möchten. –

Antwort

18

Es scheint nicht vom Standardpaket installiert zu sein. Diese Seite hat einige Richtungen: http://engineeredweb.com/blog/how-to-install-git-subtree

+6

Auf Ubuntu war es bereits installiert, aber ich musste einen Simlink hinzufügen: http://cogumbreiro.blogspot.com/2013/05/how-to-install-git-subtree-in-ubuntu.html – thebenedict

+0

@thenedict Interessant! Das Erstellen der Manpage erfordert eine riesige Toolchain. Ich habe einen Patch gefunden, der die vorgefertigte Manpage 'git-subtree.1' hinzufügt: http://code.google.com/p/git-core/issues/detail?id=18 – 13ren

+0

@thenedict ftw - das ist die richtige Antwort! Schade, es ist ein Kommentar und ich kann dich nicht mehr auffrischen. –

44

Es ist tatsächlich auf Ubuntu installiert, aber aus irgendeinem Grund ist es nicht irgendwo, wo Git es finden kann. Der einfachste Weg ist es, einen symbolischen Link zu erstellen:

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: sieht aus wie ein patch has been submitted stromaufwärts dieses Problem zu beheben, aber es ist noch nicht zusammengeführt.

UPDATE 2: der Patch das in Debian zu beheben wurden zusammengeführt, aber da sie den Weg eines separaten git-subtree Paket ging ich glaube nicht, das es zu Ubuntu 12.04 machen. Scheint kein Problem in 14.04 zu sein, da /usr/lib/git-core/git-subtree bereits korrekt vom git Paket erstellt wurde.

+2

Auch nach der Aktualisierung auf den neuesten Stand von git-core/ppa wird der Teilbaum nicht gefunden. Diese Lösung ist die echte Lösung für mich (Linux Mint 14) – powlo

+1

danke. Es hat mein Problem auf Ubuntu 12 behoben.04 – zjhui

Verwandte Themen