Jak wgrać moją statyczną witrynę AngularJS na Github Pages?

Stworzyłem statyczną stronę z AngularJS i teraz chcę ją przesłać jako stronę Github. Wykonałem wszystkie instrukcje tutaj

Https://help.github.com/articles/creating-project-pages-manually

Mogę utworzyć nową gałąź o nazwie gh-pages i git push origin gh-pages cała moja zawartość jest w porządku. Kiedy idę do mojego repo widzę nową gałąź gh-pages z wszystkimi plikami tam jak więc

Https://github.com/siddhion/maxmythic_angular/tree/gh-pages

Problem polega na tym, że gdy próbuję zobaczyć moją stronę na http://siddhion.github.io/maxmythic_angular / align = "center" / 2,4044 Zakładam, że problem polega na tym, że nie mam swojego index.html w górnym katalogu. W rzeczywistości znajduje się w katalogu app. Moja struktura katalogów wygląda tak, jak robi, ponieważ stworzyłem ją za pośrednictwem Yeoman. Zakładam, że potrzebuję wszystkich plików na moim najwyższym poziomie. A może jestem błędne założenie?

Jak sprawić, by moja strona statyczna AngularJS pojawiła się prawidłowo?

UPDATE

Podążałem za krokami, które przygotował Stephen. Mam Krok 3 i mam błąd:
$ git subtree push --prefix dist origin gh-pages
git push using:  origin gh-pages
To [email protected]:siddhion/maxmythic_angular.git
 ! [rejected]        5db3233d7c0822eedc5500409ce6a2d4b73ad427 -> gh-pages (non-fast-forward)
error: failed to push some refs to '[email protected]:siddhion/maxmythic_angular.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and merge the remote changes
hint: (e.g. 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

I then tried

$ git pull origin master
From github.com:siddhion/maxmythic_angular
 * branch            master     -> FETCH_HEAD
Already up-to-date.

A następnie próbował git subtree push --prefix dist origin gh-pages ponownie, ale dostał ten sam błąd.

Na stronie Yeoman deployment widzę pod kilka typowych błędów

Może pojawić się błąd, taki jak ta aktualizacja została odrzucona ponieważ końcówka Twój obecny oddział jest w tyle. Możesz to rozwiązać siłą naciskając do pilota (uważaj jednak, zniszczy to co już jest tam).

Boję się wymusić subtree push ponieważ jestem nowy w git w ogóle i nie wiem, co zostanie zniszczone. Chodzi mi o to, że obecnie nie mam gh-pages gałęzi w moim maxmythic_angular origin remote więc się tym nie martwię, ale mam swój master, gh-pages-old i gh-pages-v1 gałęzie tam. Czy będą zniszczony, jeśli ucieknę git subtree push --prefix dist origin gh-pages?

Author: drewish, 2013-07-15

2 answers

Na stronie Yeomana znajduje się przewodnik po wdrożeniu, w jaki sposób wdrożyć się do gałęzi gh-pages za pomocą git subtree.

Z przewodnika...

Kiedy uruchamiasz grunt build, generuje on całkowicie zoptymalizowaną wersję Twojej aplikacji w katalogu dist, który można wdrożyć.

Zalecanym sposobem wdrożenia katalogu dist jest użycie poddrzewa git.

  1. Usuń katalog dist z .plik gitignore.

  2. Dodaj katalog dist do Twoje repozytorium i zatwierdź je wraz z projektem.

    git add dist && git commit -m "Initial dist subtree commit"

  3. Gdy katalog dist jest częścią twojego projektu, możemy użyć git subtree, aby utworzyć osobne repozytorium na innej gałęzi. Uwaga: prefiks musi być względną ścieżką do katalogu dist. Zakładając, że dist znajduje się w Twoim katalogu głównym.

    git subtree push --prefix dist origin gh-pages

  4. Teraz możesz zatwierdzić całe repozytorium w domyślnej gałęzi (master) i kiedy tylko chcesz wdrożyć katalog dist można uruchomić:

    git subtree push --prefix dist origin gh-pages

 13
Author: Stephen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-07 16:20:23

Zalecam użycie grunt-build-control . Przewodnik użytkowania tam jest dokładnie Twój przypadek.

Użyłem go do rozmieszczenia mojego user . github.io , gdzie rzeczywisty kod znajduje się w gałęzi source, A zoptymalizowana strona www jest wbudowana w lokalny folder dist (in .gitignore) , a następnie wdrożony do gałęzi master za pomocą grunt buildcontrol:dist

buildcontrol: {
  dist: {
    options: {
      remote: 'https://github.com/user/user.github.io',
      branch: 'master',
      commit: true,
      push: true
  }
}
 0
Author: phcerdan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-15 11:53:27