2013-07-22 15 views
32

Mam zamiar wdrożyć moją statyczną stronę opartą na AngularJS jako stronę Githuba z Yeomanem. Krok 3 instrukcji wdrożeniowych powiedz mi zrobićDlaczego `git subtree` nie działa, mimo że mam zainstalowany git 1.8.3.2 na Ubuntu 12.10?

git subtree push --prefix dist origin gh-pages

ale kiedy wchodzę że dostanę

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

Ten SO answer provided me instructions w jaki sposób uaktualnić do najnowszej git-core i zapewnić go zawsze aktualizuj do najnowszej stabilnej wersji.

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

Po uruchomieniu tych poleceń zrobiłem git --version aby upewnić się, że miał najnowszą wersję i widocznie zrobiłem od git version 1.8.3.2 było wyjście. Teraz, gdy próbowałem działa

git subtree push --prefix dist origin gh-pages

ponownie nadal mam ten sam następujący błąd

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

Wreszcie po prostu ponownie uruchomić Ubuntu 12.10 i próbował ponownie uruchomić komendę, ale po raz kolejny, mam ten sam błąd.

Jak to możliwe, że polecenie git subtree nadal nie działa, mimo że zaktualizowałem system do bieżącego wydania stabilnego?

+1

Wygląda na to, że nie jest instalowany przez domyślny pakiet. Ta strona ma kilka wskazówek: http://engineeredweb.com/blog/how-to-install-git-subtree/ – TeTeT

+0

Ahh właśnie dzięki. Tak było. Możesz na nie odpowiedzieć i zaznaczę to poprawnie, jeśli chcesz. –

Odpowiedz

18

Wygląda na to, że nie jest instalowany przez domyślny pakiet. Ta strona ma kilka wskazówek: http://engineeredweb.com/blog/how-to-install-git-subtree

+6

Na Ubuntu było już zainstalowane, ale musiałem dodać simlink: http://cogumbreiro.blogspot.com/2013/05/how-to-install-git-subtree-in-ubuntu.html – thebenedict

+0

@ thebenedict Interesting! Przy tworzeniu BTW strona podręcznika wymaga ogromnego zestawu narzędzi. Znalazłem łatkę, która dodaje gotową stronę podręcznika, 'git-subtree.1': http://code.google.com/p/git-core/issues/detail?id=18 – 13ren

+0

@ thebenedict ftw - to jest poprawna odpowiedź! Szkoda, że ​​to jest komentarz i nie mogę ci więcej awansować. –

44

Jest zainstalowany na Ubuntu, ale z jakiegoś powodu nie jest umieszczany w miejscu, w którym git może go znaleźć. Najprostszym sposobem jest stworzenie dowiązania:

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 

Aktualizacja 1: wygląda jak patch has been submitted upstream to naprawić, ale nie zostały jeszcze połączone.

UPDATE 2: łatka to naprawić w Debianie została połączona, ale skoro poszli trasę oddzielnego pakietu git-subtree Nie sądzę, to zrobi to do Ubuntu 12.04. Wydaje się nie być problemem w 14.04, ponieważ /usr/lib/git-core/git-subtree jest już poprawnie utworzony przez pakiet git.

+2

Nawet po aktualizacji do najnowszej wersji z git-core/ppa nie można znaleźć poddrzewa. To rozwiązanie jest dla mnie prawdziwą poprawką (Linux Mint 14) – powlo

+1

dziękuję. Naprawiłem mój problem na Ubuntu 12.04 – zjhui

Powiązane problemy