我可以创建一个名为
gh-pages
的新分支,并使用git push origin gh-pages
将所有内容推送到该分支。当我转到我的repo时,我看到了新的gh-pages
分支,其中包含所有文件,如下所示:https://github.com/siddhion/maxmythic_angular/tree/gh-pages。问题是,当我尝试在http://siddhion.github.io/maxmythic_angular/查看我的站点时,我只得到一个404页面。我认为问题在于我没有把
index.html
放在顶级目录中,而是放在app
目录中。我的目录结构之所以会变成这样,是因为我是通过Yeoman创建的。我认为我需要在顶级目录中拥有所有文件。或者,也许我的这个假设是错误的?如何使我的AngularJS静态站点正确显示?
更新:
我按照Stephen提供的步骤进行操作。我进行到第3步时出现了一个错误:
$ git subtree push --prefix dist origin gh-pages
git push using: origin gh-pages
To git@github.com:siddhion/maxmythic_angular.git
! [rejected] 5db3233d7c0822eedc5500409ce6a2d4b73ad427 -> gh-pages (non-fast-forward)
error: failed to push some refs to 'git@github.com: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.
我尝试过
$ git pull origin master
From github.com:siddhion/maxmythic_angular
* branch master -> FETCH_HEAD
Already up-to-date.
然后我再次尝试了git subtree push --prefix dist origin gh-pages
,但是仍然遇到了相同的错误。
在Yeoman部署页面的一些常见错误部分中,我看到:
你可能会遇到这样的错误:“Updates were rejected because the tip of your current branch is behind.”你可以通过强制提交到远程解决这个问题(但要小心,这将摧毁已经存在的任何内容)。
我对强制执行subtree push
持怀疑态度,因为我对git不太熟悉,也不确定会破坏什么。我的maxmythic_angular
origin
远程目前没有gh-pages
分支,所以我不担心这个,但是我有我的master
、gh-pages-old
和gh-pages-v1
分支。如果我运行git subtree push --prefix dist origin gh-pages
,它们会被摧毁吗?
git add .
。太奇怪了。我会重新推送所有内容。谢谢。 - user883807