2013-07-22 4 views
32

Sto per distribuire il mio sito statico basato su AngularJS come pagina Github con Yeoman. Fase 3 delle istruzioni di distribuzione mi dicono di farePerché il `git subtree` non funziona anche se ho installato git 1.8.3.2 su Ubuntu 12.10?

git subtree push --prefix dist origin gh-pages

ma quando entro in che ricevo

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

Questo SO answer provided me instructions su come aggiornare all'ultima git-core e assicurarsi che sempre aggiornato all'ultima versione stabile.

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

Dopo aver eseguito tali comandi che ho fatto git --version per assicurarsi che ho avuto la versione più recente e apparentemente ho fatto da quando era git version 1.8.3.2 l'uscita. Ora, quando ho provato a fare funzionare

git subtree push --prefix dist origin gh-pages

ancora una volta ho ancora ottenuto lo stesso errore seguente

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

Infine ho appena ricominciato Ubuntu 12.10 e ho cercato di eseguire nuovamente il comando, ma ancora una volta, ho avuto lo stesso errore.

Come mai il comando git subtree non funziona ancora nonostante sia stato aggiornato alla versione stabile corrente?

+1

Non sembra essere installato dal pacchetto predefinito. Questo sito ha alcune indicazioni: http://engineeredweb.com/blog/how-to-install-git-subtree/ – TeTeT

+0

Ahh giusto grazie. Questo è stato. Sentiti libero di rispondergli e lo segnerò correttamente se vuoi. –

risposta

18

Non sembra essere installato dal pacchetto predefinito. Questo sito ha alcune direzioni: http://engineeredweb.com/blog/how-to-install-git-subtree

+6

Su Ubuntu era già installato, ma ho dovuto aggiungere un simlink: http://cogumbreiro.blogspot.com/2013/05/how-to-install-git-subtree-in-ubuntu.html – thebenedict

+0

@thebenedict Interessante! La costruzione della manpage di BTW richiede un'enorme toolchain. Ho trovato una patch che aggiunge una manpage pre-costruita, 'git-subtree.1': http://code.google.com/p/git-core/issues/detail?id=18 – 13ren

+0

@thebenedict ftw - questo è la risposta corretta! Peccato sia un commento e non posso prevederti di più .. –

44

In realtà è installato su Ubuntu ma per qualche motivo non è messo da nessuna parte dove git può trovarlo. Il modo più semplice è quello di creare un link simbolico:

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: sembra una patch has been submitted monte per risolvere questo problema, ma non ancora integrato.

UPDATE 2: la patch per risolvere questo in Debian è stato fuso, ma dal momento che sono andati il ​​percorso di un pacchetto separato git-subtree non credo che questo renderà a Ubuntu 12.04. Sembra non essere un problema in 14.04 come /usr/lib/git-core/git-subtree è già stato creato correttamente dal pacchetto git.

+2

Anche dopo l'aggiornamento alla versione più recente di git-core/ppa, la sottostruttura non viene trovata. Questa soluzione è la vera soluzione per me (Linux Mint 14) – powlo

+1

grazie. Ha risolto il mio problema su Ubuntu 12.04 – zjhui