AngularJS 静的サイト (Yeoman で開始) を Github ページとしてデプロイしようとしており、Yeoman デプロイ ガイドに記載されている手順に従っていました。ステップ 1 と 2 では成功しますが、ステップ 3 に到達すると事態は悪化します。ステップ3は実行するように指示します
git subtree push --prefix dist origin gh-pages
実行すると、これが表示されます
$ 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 の展開ページで、いくつかの一般的なエラーセクションの下に表示されます
現在のブランチのヒントが遅れているため、この更新が拒否されたというエラーが表示される場合があります。これは、リモートに強制的にプッシュすることで解決できます (ただし、既存のものはすべて破棄されることに注意してください)。
私はsubtree push
一般的にgitを初めて使用し、何が破棄されるかわからないため、強制するのが心配です。つまり、私は現在gh-pages
maxmythic_angularorigin
リモートにブランチを持っていないので、それについては心配していませんが、そこにmaster
,gh-pages-old
とgh-pages-v1
ブランチがあります。実行すると、それらは破壊されますgit subtree push --prefix dist origin gh-pages
か?
アップデート
安全のために作業を別のフォルダーにコピーし、コマンドに追加--force
して実行しました。git subtree push
これは私が得たものです
$ git subtree push --prefix dist origin gh-pages --force
error: unknown option `force'
usage: git subtree add --prefix=<prefix> <commit>
or: git subtree add --prefix=<prefix> <repository> <commit>
or: git subtree merge --prefix=<prefix> <commit>
or: git subtree pull --prefix=<prefix> <repository> <refspec...>
or: git subtree push --prefix=<prefix> <repository> <refspec...>
or: git subtree split --prefix=<prefix> <commit...>
-h, --help show the help
-q quiet
-d show debug messages
-P, --prefix ... the name of the subdir to split out
-m, --message ... use the given message as the commit message for the merge commit
options for 'split'
--annotate ... add a prefix to commit message of new commits
-b, --branch ... create a new branch from the split subtree
--ignore-joins ignore prior --rejoin commits
--onto ... try connecting new tree to an existing one
--rejoin merge the new branch back into HEAD
options for 'add', 'merge', 'pull' and 'push'
--squash merge subtree changes as a single commit
自分のサイトを gh-pages にデプロイできるようにコマンドを機能させるにはどうすればよいですか?git subtree push --prefix dist origin gh-pages
アップデート
この問題が指示に関係しているのか、それともレポに何か怪しいものがあるのか を確認したかったので、新しいAngularアプリをセットアップしyo angular
、展開手順に従いました。git subtree push
今回働いた。私のgh-pagesリポジトリに何が起こったのか、まだわかりません。私は本当に徹底的に学ばなければなりませんgit
。